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;
 }