Make channel args immutable

pull/16190/head
Muxi Yan 6 years ago
parent bc292b87c2
commit ad5485ae4e
  1. 10
      src/objective-c/GRPCClient/private/GRPCChannel.m
  2. 2
      src/objective-c/GRPCClient/private/GRPCChannelFactory.h
  3. 2
      src/objective-c/GRPCClient/private/GRPCChannelPool.h
  4. 2
      src/objective-c/GRPCClient/private/GRPCChannelPool.m
  5. 2
      src/objective-c/GRPCClient/private/GRPCCronetChannelFactory.h
  6. 4
      src/objective-c/GRPCClient/private/GRPCCronetChannelFactory.m
  7. 2
      src/objective-c/GRPCClient/private/GRPCInsecureChannelFactory.h
  8. 2
      src/objective-c/GRPCClient/private/GRPCInsecureChannelFactory.m
  9. 2
      src/objective-c/GRPCClient/private/GRPCSecureChannelFactory.h
  10. 2
      src/objective-c/GRPCClient/private/GRPCSecureChannelFactory.m

@ -86,8 +86,14 @@
return nil;
}
NSMutableDictionary *channelArgs = config.channelArgs;
[channelArgs addEntriesFromDictionary:config.callOptions.additionalChannelArgs];
NSDictionary *channelArgs;
if (config.callOptions.additionalChannelArgs.count != 0) {
NSMutableDictionary *args = [config.channelArgs copy];
[args addEntriesFromDictionary:config.callOptions.additionalChannelArgs];
channelArgs = args;
} else {
channelArgs = config.channelArgs;
}
id<GRPCChannelFactory> factory = config.channelFactory;
grpc_channel *unmanaged_channel = [factory createChannelWithHost:host channelArgs:channelArgs];
return [[GRPCChannel alloc] initWithUnmanagedChannel:unmanaged_channel configuration:config];

@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
@protocol GRPCChannelFactory
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args;
channelArgs:(nullable NSDictionary *)args;
@end

@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN
@property(strong, readonly) GRPCCallOptions *callOptions;
@property(readonly) id<GRPCChannelFactory> channelFactory;
@property(readonly) NSMutableDictionary *channelArgs;
@property(readonly) NSDictionary *channelArgs;
- (nullable instancetype)initWithHost:(NSString *)host callOptions:(GRPCCallOptions *)callOptions;

@ -76,7 +76,7 @@ const NSTimeInterval kChannelDestroyDelay = 30;
}
}
- (NSMutableDictionary *)channelArgs {
- (NSDictionary *)channelArgs {
NSMutableDictionary *args = [NSMutableDictionary new];
NSString *userAgent = @"grpc-objc/" GRPC_OBJC_VERSION_STRING;

@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (nullable instancetype)sharedInstance;
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args;
channelArgs:(nullable NSDictionary *)args;
- (nullable instancetype)init NS_UNAVAILABLE;

@ -53,7 +53,7 @@ NS_ASSUME_NONNULL_BEGIN
}
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args {
channelArgs:(nullable NSDictionary *)args {
// Remove client authority filter since that is not supported
args[@GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER] = [NSNumber numberWithInt:1];
@ -81,7 +81,7 @@ NS_ASSUME_NONNULL_BEGIN
}
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableArray *)args {
channelArgs:(nullable NSDictionary *)args {
[NSException raise:NSInvalidArgumentException
format:@"Must enable macro GRPC_COMPILE_WITH_CRONET to build Cronet channel."];
return nil;

@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (nullable instancetype)sharedInstance;
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args;
channelArgs:(nullable NSDictionary *)args;
- (nullable instancetype)init NS_UNAVAILABLE;

@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN
}
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args {
channelArgs:(nullable NSDictionary *)args {
grpc_channel_args *coreChannelArgs = BuildChannelArgs([args copy]);
grpc_channel *unmanagedChannel =
grpc_insecure_channel_create(host.UTF8String, coreChannelArgs, NULL);

@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
error:(NSError **)errorPtr;
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableDictionary *)args;
channelArgs:(nullable NSDictionary *)args;
- (nullable instancetype)init NS_UNAVAILABLE;

@ -110,7 +110,7 @@ NS_ASSUME_NONNULL_BEGIN
}
- (nullable grpc_channel *)createChannelWithHost:(NSString *)host
channelArgs:(nullable NSMutableArray *)args {
channelArgs:(nullable NSDictionary *)args {
grpc_channel_args *coreChannelArgs = BuildChannelArgs([args copy]);
grpc_channel *unmanagedChannel =
grpc_secure_channel_create(_channelCreds, host.UTF8String, coreChannelArgs, NULL);

Loading…
Cancel
Save