aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objective-c/GRPCClient/GRPCCallOptions.m
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2018-10-17 18:01:14 -0700
committerGravatar Muxi Yan <mxyan@google.com>2018-10-17 18:01:14 -0700
commitd578b4321812715de7fe615a1ae8624fd05f1c69 (patch)
treeaad8cb9dc39cdd93549e9e2de9068ab5070fde53 /src/objective-c/GRPCClient/GRPCCallOptions.m
parentf48c90606f246afab3a2aa1e1547578c4c34292a (diff)
Add channelOptionsHash: to GRPCCChannelOptions
Diffstat (limited to 'src/objective-c/GRPCClient/GRPCCallOptions.m')
-rw-r--r--src/objective-c/GRPCClient/GRPCCallOptions.m24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/objective-c/GRPCClient/GRPCCallOptions.m b/src/objective-c/GRPCClient/GRPCCallOptions.m
index 1fc8c9fb1a..8d2b84b748 100644
--- a/src/objective-c/GRPCClient/GRPCCallOptions.m
+++ b/src/objective-c/GRPCClient/GRPCCallOptions.m
@@ -267,6 +267,30 @@ static NSUInteger kDefaultChannelID = 0;
return YES;
}
+- (NSUInteger)channelOptionsHash {
+ NSUInteger result = 0;
+ result ^= _userAgentPrefix.hash;
+ result ^= _responseSizeLimit;
+ result ^= _compressAlgorithm;
+ result ^= _enableRetry;
+ result ^= (unsigned int)(_keepaliveInterval * 1000);
+ result ^= (unsigned int)(_keepaliveTimeout * 1000);
+ result ^= (unsigned int)(_connectMinTimeout * 1000);
+ result ^= (unsigned int)(_connectInitialBackoff * 1000);
+ result ^= (unsigned int)(_connectMaxBackoff * 1000);
+ result ^= _additionalChannelArgs.hash;
+ result ^= _PEMRootCertificates.hash;
+ result ^= _PEMPrivateKey.hash;
+ result ^= _PEMCertChain.hash;
+ result ^= _hostNameOverride.hash;
+ result ^= _transportType;
+ result ^= [_logContext hash];
+ result ^= _channelPoolDomain.hash;
+ result ^= _channelID;
+
+ return result;
+}
+
@end
@implementation GRPCMutableCallOptions