protected void CloseHandlerWithReply(NodeReply replyMsg, NodeInfo replyTarget, RequestResponseHandler <Guid> responder = null) { SendReplyTo(replyTarget, replyMsg); if (responder != null) { Unsubscribe(responder); } CloseHandler(); }
protected void SendReplyTo(NodeInfo target, NodeReply reply) { if (target.Equals(Node.Identity)) { SendLocalMessage(reply); } else { var forwardingSocket = Node.ForwardingSockets[target.HostAndPort]; Node.Marshaller.Send(reply, forwardingSocket); } }
public NetMQMessage Marshall(NodeReply msg) { var json = _serializer.Serialize(msg); var result = new NetMQMessage(new[] { new NetMQFrame(NodeReply), new NetMQFrame(EmptyByteArray), new NetMQFrame(json), }); return(result); }
protected void SendReplyTo(NodeInfo target, NodeReply reply) { if (target.Equals(Identity)) { MessageBus.Publish(reply); } else { var forwardingSocket = ForwardingSockets[target.HostAndPort]; Marshaller.Send(reply, forwardingSocket); } }
public void Send(NodeReply msg, IOutgoingSocket outgoingSocket) { var mqMsg = Marshall(msg); outgoingSocket.SendMultipartMessage(mqMsg); }
public void Unmarshall(NetMQMessage netMqMessage, out NodeReply msg) { msg = (NodeReply)_serializer.Deserialize(json: netMqMessage[2].ConvertToString()); }