GRPCcall2的用法示例

时间:2019-05-21 14:18:13

标签: ios objective-c swift grpc

在我们的iOS代码库中,我们使用GRPCcall来配置与服务器的连接。我刚刚注意到,在Objective C gRPC库中,GRPCcall类已被弃用:

/**
 * This interface is deprecated. Please use \a GRPCcall2.
 *
 * Represents a single gRPC remote call.
 */

注释表明我们应该改用GRPCcall2。但是用法似乎有所不同,并且基于不同的概念。例如,GRPCcall2上方的评论说

/**
 * Call related parameters. These parameters are automatically 
   specified by Protobuf. If directly
 * using the \a GRPCCall2 class, users should specify these parameters 
   manually.
 */

建议用户通常不需要使用此类。

在发布此问题时,gRPC Basics guide仍然引用GRPCcall类(现已弃用)gRPC Object-C Quick Start guide。除了注释中的内容,我似乎找不到新的GRPCcall2的任何文档。

例如,对于旧类,我可以做

GRPCCall.enableRetry(true, forHost: "bla")

如何通过新课程实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以在https://github.com/grpc/grpc/blob/master/src/objective-c/tests/APIv2Tests/APIv2Tests.m中找到GRPCCall2的用法示例。

retryEnabled属性位于GRPCMutableCallOptions中。

您可以执行以下操作:

  GRPCMutableCallOptions *options = [[GRPCMutableCallOptions alloc] init];
  options.retryEnabled = YES;
  GRPCCall2 *call = [[GRPCCall2 alloc]
      initWithRequestOptions:requestOptions
      responseHandler:handler
      callOptions:options];

Objective-C examples也已更新为使用v2 API