Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望提供 Trans 使用 gonet 的示例。 #50

Closed
rectcircle opened this issue Nov 4, 2022 · 3 comments
Closed

希望提供 Trans 使用 gonet 的示例。 #50

rectcircle opened this issue Nov 4, 2022 · 3 comments

Comments

@rectcircle
Copy link

rectcircle commented Nov 4, 2022

  1. 文档 https://www.cloudwego.io/zh/docs/kitex/tutorials/framework-exten/transport/ 提供了定制传输层的说明,比较抽象,作为框架使用者不知道怎么用。
  2. changelog https://www.cloudwego.io/zh/blog/2022/08/26/kitex-v0.4.0-%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83/ 提到 v0.4.0 支持了 gonet 作为传输层,只说在 window 场景作为默认的传输层。但没有说明如何强制指定。

诉求:

  1. https://www.cloudwego.io/zh/docs/kitex/tutorials/framework-exten/transport/ 文档添加如何使用 gonet 配置的示例。
  2. example 代码库添加关于传输层配置的示例,比如,添加一个可运行的 demo, 这个 demo 配置使用 gonet 作为传输层。
@HeyJavaBean
Copy link
Member

  1. 实现相应的接口,然后通过 server.WithTransServerFactory 设置即可。kitex 的代码里默认有 netpoll 和 gonet 的实现可以参考下。
  2. 创建 server 时, server.WithTransServerFactory 这两个参数使用 gonet.NewTransServerFactory() 和 gonet.NewSvrTransHandlerFactory() 即可替换为 gonet 传输层实现

@GuangmingLuo
Copy link
Member

@HeyJavaBean 是否考虑完善下官网文档呢?

@HeyJavaBean
Copy link
Member

写法如下

var opts []server.Option
opts = append(opts, server.WithTransServerFactory(gonet.NewTransServerFactory()))
opts = append(opts, server.WithTransHandlerFactory(gonet.NewSvrTransHandlerFactory()))
svr := xxxservice.NewServer(handler, opts...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants