public static GenericProtocolPair Get(AvroProtocol local, AvroProtocol remote) { lock (GUARD) { if (!CACHE.TryGetValue(local.MD5, out var genericProtocolPairs)) { genericProtocolPairs = new Dictionary <byte[], GenericProtocolPair>(COMPARE); CACHE.Add(local.MD5, genericProtocolPairs); } if (!genericProtocolPairs.TryGetValue(remote.MD5, out var genericProtocolPair)) { genericProtocolPair = new GenericProtocolPair(local, remote); genericProtocolPairs.Add(remote.MD5, genericProtocolPair); } return(genericProtocolPair); } }
public GenericResponder(AvroProtocol local, AvroProtocol remote) { Local = local; Remote = remote; _protocolPair = GenericProtocolPair.Get(local, remote); }