返回介绍

Channel设计与代码实现 - 类Channel

发布于 2020-09-14 13:14:41 字数 1609 浏览 1109 评论 0 收藏 0

类定义

Channel 是一个 abstract class,位于package “io.grpc”, 在 grpc-core 这个jar包中。

  1. package io.grpc;
  2. import javax.annotation.concurrent.ThreadSafe;
  3. @ThreadSafe
  4. public abstract class Channel {
  5. ......
  6. }

通过 @ThreadSafe 注解标明 Channel 是线程安全的。

方法定义

ClientCall()方法

  1. public abstract <RequestT, ResponseT> ClientCall<RequestT, ResponseT> newCall(
  2. MethodDescriptor<RequestT, ResponseT> methodDescriptor, CallOptions callOptions);

构建一个用于远程操作的 ClientCall 对象,通过给定的 MethodDescriptor 来指定。返回的 ClientCall 对象不会触发任何远程行为,直到 ClientCall.start(ClientCall.Listener, Metadata) 方法被调用。

authority()方法

  1. public abstract String authority();

这个 Channel 连接到的目的地的 authority。通常是以 “host:port” 格式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文