GRPC Objective-C  1.39.1
GRPCHost.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2015 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #import <Foundation/Foundation.h>
20 
21 #import <grpc/impl/codegen/compression_types.h>
22 
23 #import "GRPCChannelFactory.h"
24 
26 
27 NS_ASSUME_NONNULL_BEGIN
28 
29 @class GRPCCompletionQueue;
30 struct grpc_call;
31 struct grpc_channel_credentials;
32 
33 @interface GRPCHost : NSObject
34 
35 + (void)resetAllHostSettings;
36 
37 @property(nonatomic, readonly) NSString *address;
38 @property(nonatomic, copy, nullable) NSString *userAgentPrefix;
39 @property(nonatomic, copy, nullable) NSString *userAgentSuffix;
40 @property(nonatomic) grpc_compression_algorithm compressAlgorithm;
41 @property(nonatomic) int keepaliveInterval;
42 @property(nonatomic) int keepaliveTimeout;
43 @property(nonatomic) id logContext;
44 @property(nonatomic) BOOL retryEnabled;
45 
46 @property(nonatomic) unsigned int minConnectTimeout;
47 @property(nonatomic) unsigned int initialConnectBackoff;
48 @property(nonatomic) unsigned int maxConnectBackoff;
49 
50 @property(nonatomic) id<GRPCChannelFactory> channelFactory;
51 
54 @property(nonatomic, copy, nullable) NSString *hostNameOverride;
55 
57 @property(nonatomic) NSUInteger responseSizeLimitOverride;
58 
59 - (nullable instancetype)init NS_UNAVAILABLE;
61 + (nullable instancetype)hostWithAddress:(NSString *)address;
62 - (nullable instancetype)initWithAddress:(NSString *)address NS_DESIGNATED_INITIALIZER;
63 - (BOOL)setTLSPEMRootCerts:(nullable NSString *)pemRootCerts
64  withPrivateKey:(nullable NSString *)pemPrivateKey
65  withCertChain:(nullable NSString *)pemCertChain
66  error:(NSError **)errorPtr;
67 
68 @property(atomic) GRPCTransportType transportType;
69 
70 + (GRPCCallOptions *)callOptionsForHost:(NSString *)host;
71 
72 @end
73 
74 NS_ASSUME_NONNULL_END
Immutable user configurable options for a gRPC call.
Definition: GRPCCallOptions.h:30
This class lets one more easily use |grpc_completion_queue|.
Definition: GRPCCompletionQueue.h:36
Definition: GRPCHost.h:34
int keepaliveTimeout
Definition: GRPCHost.h:42
id logContext
Definition: GRPCHost.h:43
unsigned int maxConnectBackoff
Definition: GRPCHost.h:48
grpc_compression_algorithm compressAlgorithm
Definition: GRPCHost.h:40
id< GRPCChannelFactory > channelFactory
Definition: GRPCHost.h:50
NSString * address
Definition: GRPCHost.h:37
unsigned int initialConnectBackoff
Definition: GRPCHost.h:47
NSUInteger responseSizeLimitOverride
The default response size limit is 4MB.
Definition: GRPCHost.h:57
BOOL retryEnabled
Definition: GRPCHost.h:44
unsigned int minConnectTimeout
Definition: GRPCHost.h:46
GRPCTransportType transportType
Definition: GRPCHost.h:68
nullable instancetype NS_UNAVAILABLE()
void resetAllHostSettings()
int keepaliveInterval
Definition: GRPCHost.h:41
NSString * userAgentPrefix
Definition: GRPCHost.h:38
NSString * hostNameOverride
The following properties should only be modified for testing:
Definition: GRPCHost.h:54
NSString * userAgentSuffix
Definition: GRPCHost.h:39