public CommandMessageWorker() : base(MonitorAdress, ZSocketType.ROUTER, MessagingCoreSettings.Default.CommandSocketReceivePollRate) { RecvBuffer = new TransformBlock <Object, MessageData>( (msg) => MessageCodec.DecodeMessage((ZMessage)msg)); SendBuffer = new TransformBlock <(Int32 NodeId, IList <Byte[]> Msg), Object>( (msg) => MessageCodec.EncodeCommandMessage(msg.NodeId, msg.Msg)); m_sendTransform = new TransformBlock <Object, ZMessage>(obj => (ZMessage)obj); SendBuffer.LinkTo(m_sendTransform); m_sendTransform.LinkTo(m_sendAction); m_receiveBuffer.LinkTo(RecvBuffer); }