async public Task <INetChannel> ConnectToCallbackChannel(CallbackChannelRef callbackChannelRef) { if (callbackChannelRef.Address.Equals(Address)) { INetChannel callbackChannel; if (_callbackChannels.TryGetValue(callbackChannelRef.CallbackChannelId, out callbackChannel)) { return(callbackChannel); } else { throw new ProcessingException(BasicErrorCode.ConnectionFailed); } } else { var coreChannel = await Connect(callbackChannelRef.Address); return(new CallbackProxyChannel(coreChannel, callbackChannelRef)); } }
public CallbackProxyChannel(INetChannel remoteNodeChannel, CallbackChannelRef callbackRef) { _remoteNodeChannel = remoteNodeChannel; _callbackRef = callbackRef; }