GRPC Objective-C  1.39.1
Instance Methods | Properties
GRPCCallOptions Class Reference

Immutable user configurable options for a gRPC call. More...

#import <GRPCCallOptions.h>

Instance Methods

(BOOL) - hasChannelOptionsEqualTo:
 Return if the channel options are equal to another object. More...
 

Properties

NSString * serverAuthority
 The authority for the RPC. More...
 
NSTimeInterval timeout
 The timeout for the RPC call in seconds. More...
 
BOOL flowControlEnabled
 Enable flow control of a gRPC call. More...
 
NSArray< id< GRPCInterceptorFactory > > * interceptorFactories
 An array of interceptor factories. More...
 
NSString * oauth2AccessToken
 The OAuth2 access token string. More...
 
id< GRPCAuthorizationProtocolauthTokenProvider
 The interface to get the OAuth2 access token string. More...
 
NSDictionary * initialMetadata
 Initial metadata key-value pairs that should be included in the request. More...
 
NSString * userAgentPrefix
 Custom string that is prefixed to a request's user-agent header field before gRPC's internal user-agent string. More...
 
NSString * userAgentSuffix
 Custom string that is suffixed to a request's user-agent header field after gRPC's internal user-agent string. More...
 
NSUInteger responseSizeLimit
 The size limit for the response received from server. More...
 
GRPCCompressionAlgorithm compressionAlgorithm
 The compression algorithm to be used by the gRPC call. More...
 
BOOL retryEnabled
 Enable/Disable gRPC call's retry feature. More...
 
NSTimeInterval keepaliveInterval
 
NSTimeInterval keepaliveTimeout
 
NSTimeInterval connectMinTimeout
 
NSTimeInterval connectInitialBackoff
 
NSTimeInterval connectMaxBackoff
 
NSDictionary * additionalChannelArgs
 Specify channel args to be used for this call. More...
 
NSString * PEMRootCertificates
 PEM format root certifications that is trusted. More...
 
NSString * PEMPrivateKey
 PEM format private key for client authentication, if required by the server. More...
 
NSString * PEMCertificateChain
 PEM format certificate chain for client authentication, if required by the server. More...
 
GRPCTransportType transportType
 Deprecated: this option is deprecated. More...
 
GRPCTransportID transport
 The transport to be used for this call. More...
 
NSString * hostNameOverride
 Override the hostname during the TLS hostname validation process. More...
 
NSString * channelPoolDomain
 A string that specify the domain where channel is being cached. More...
 
NSUInteger channelID
 Channel id allows control of channel caching within a channelPoolDomain. More...
 
NSUInteger channelOptionsHash
 Hash for channel options. More...
 

Detailed Description

Immutable user configurable options for a gRPC call.

Method Documentation

◆ hasChannelOptionsEqualTo:

- (BOOL) hasChannelOptionsEqualTo: (GRPCCallOptions *)  callOptions

Return if the channel options are equal to another object.

Property Documentation

◆ additionalChannelArgs

- (NSDictionary*) additionalChannelArgs
readatomiccopy

Specify channel args to be used for this call.

For a list of channel args available, see grpc/grpc_types.h

◆ authTokenProvider

- (id<GRPCAuthorizationProtocol>) authTokenProvider
readatomicassign

The interface to get the OAuth2 access token string.

gRPC will attempt to acquire token when initiating the call. This parameter should not be used simultaneously with oauth2AccessToken.

◆ channelID

- (NSUInteger) channelID
readatomicassign

Channel id allows control of channel caching within a channelPoolDomain.

A call with a unique channelID will create a new channel (connection) instead of reusing an existing one. Multiple calls in the same channelPoolDomain using identical channelID are allowed to share connection if other channel options are also the same.

◆ channelOptionsHash

- (NSUInteger) channelOptionsHash
readatomicassign

Hash for channel options.

◆ channelPoolDomain

- (NSString*) channelPoolDomain
readatomiccopy

A string that specify the domain where channel is being cached.

Channels with different domains will not get cached to the same connection.

◆ compressionAlgorithm

- (GRPCCompressionAlgorithm) compressionAlgorithm
readatomicassign

The compression algorithm to be used by the gRPC call.

For more details refer to https://github.com/grpc/grpc/blob/master/doc/compression.md

◆ connectInitialBackoff

- (NSTimeInterval) connectInitialBackoff
readatomicassign

◆ connectMaxBackoff

- (NSTimeInterval) connectMaxBackoff
readatomicassign

◆ connectMinTimeout

- (NSTimeInterval) connectMinTimeout
readatomicassign

◆ flowControlEnabled

- (BOOL) flowControlEnabled
readatomicassign

Enable flow control of a gRPC call.

The option is default to NO. If set to YES, writeData: method should only be called at most once before a didWriteData callback is issued, and receiveNextMessage: must be called each time before gRPC call issues a didReceiveMessage callback.

◆ hostNameOverride

- (NSString*) hostNameOverride
readatomiccopy

Override the hostname during the TLS hostname validation process.

◆ initialMetadata

- (NSDictionary*) initialMetadata
readatomiccopy

Initial metadata key-value pairs that should be included in the request.

◆ interceptorFactories

- (NSArray<id<GRPCInterceptorFactory> >*) interceptorFactories
readatomiccopy

An array of interceptor factories.

When a call starts, interceptors are created by these factories and chained together with the same order as the factories in this array. This parameter should not be modified by any interceptor and will not take effect if done so.

◆ keepaliveInterval

- (NSTimeInterval) keepaliveInterval
readatomicassign

◆ keepaliveTimeout

- (NSTimeInterval) keepaliveTimeout
readatomicassign

◆ oauth2AccessToken

- (NSString*) oauth2AccessToken
readatomiccopy

The OAuth2 access token string.

The string is prefixed with "Bearer " then used as value of the request's "authorization" header field. This parameter should not be used simultaneously with authTokenProvider.

◆ PEMCertificateChain

- (NSString*) PEMCertificateChain
readatomiccopy

PEM format certificate chain for client authentication, if required by the server.

◆ PEMPrivateKey

- (NSString*) PEMPrivateKey
readatomiccopy

PEM format private key for client authentication, if required by the server.

◆ PEMRootCertificates

- (NSString*) PEMRootCertificates
readatomiccopy

PEM format root certifications that is trusted.

If set to nil, gRPC uses a list of default root certificates.

◆ responseSizeLimit

- (NSUInteger) responseSizeLimit
readatomicassign

The size limit for the response received from server.

If it is exceeded, an error with status code GRPCErrorCodeResourceExhausted is returned.

◆ retryEnabled

- (BOOL) retryEnabled
readatomicassign

Enable/Disable gRPC call's retry feature.

The default is enabled. For details of this feature refer to https://github.com/grpc/proposal/blob/master/A6-client-retries.md

◆ serverAuthority

- (NSString*) serverAuthority
readatomiccopy

The authority for the RPC.

If nil, the default authority will be used.

Note: This property does not have effect on Cronet transport and will be ignored. Note: This property cannot be used to validate a self-signed server certificate. It control the :authority header field of the call and performs an extra check that server's certificate matches the :authority header.

◆ timeout

- (NSTimeInterval) timeout
readatomicassign

The timeout for the RPC call in seconds.

If set to 0, the call will not timeout. If set to positive, the gRPC call returns with status GRPCErrorCodeDeadlineExceeded if it is not completed within timeout seconds. A negative value is not allowed.

◆ transport

- (GRPCTransportID) transport
readatomicassign

The transport to be used for this call.

Users may choose a native transport identifier defined in GRPCTransport or provided by a non-native transport implementation. If the option is left to be NULL, gRPC will use its default transport.

This is currently an experimental option.

◆ transportType

- (GRPCTransportType) transportType
readatomicassign

Deprecated: this option is deprecated.

Please use the property transport instead.

Select the transport type to be used for this call.

◆ userAgentPrefix

- (NSString*) userAgentPrefix
readatomiccopy

Custom string that is prefixed to a request's user-agent header field before gRPC's internal user-agent string.

◆ userAgentSuffix

- (NSString*) userAgentSuffix
readatomiccopy

Custom string that is suffixed to a request's user-agent header field after gRPC's internal user-agent string.


The documentation for this class was generated from the following file: