当前位置: 首页>>代码示例>>Golang>>正文


Golang Server.Serve方法代码示例

本文整理汇总了Golang中github.com/coreos/etcd/Godeps/_workspace/src/google/golang.org/grpc.Server.Serve方法的典型用法代码示例。如果您正苦于以下问题:Golang Server.Serve方法的具体用法?Golang Server.Serve怎么用?Golang Server.Serve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/coreos/etcd/Godeps/_workspace/src/google/golang.org/grpc.Server的用法示例。


在下文中一共展示了Server.Serve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: serve

// serve accepts incoming connections on the listener l,
// creating a new service goroutine for each. The service goroutines
// read requests and then call handler to reply to them.
func serve(l net.Listener, grpcS *grpc.Server, handler http.Handler, readTimeout time.Duration) error {
	// TODO: assert net.Listener type? Arbitrary listener might break HTTPS server which
	// expect a TLS Conn type.
	httpl := l
	if grpcS != nil {
		m := cmux.New(l)
		grpcl := m.Match(cmux.HTTP2HeaderField("content-type", "application/grpc"))
		httpl = m.Match(cmux.Any())
		go func() { plog.Fatal(m.Serve()) }()
		go plog.Fatal(grpcS.Serve(grpcl))
	}

	logger := defaultLog.New(ioutil.Discard, "etcdhttp", 0)
	// TODO: add debug flag; enable logging when debug flag is set
	srv := &http.Server{
		Handler:     handler,
		ReadTimeout: readTimeout,
		ErrorLog:    logger, // do not log user error
	}
	return srv.Serve(httpl)
}
开发者ID:siddontang,项目名称:etcd,代码行数:24,代码来源:serve.go


注:本文中的github.com/coreos/etcd/Godeps/_workspace/src/google/golang.org/grpc.Server.Serve方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。