public void ProcessMessage(NetMQMessage message, NetMQSocket socket) { if (message.FrameCount < 3) throw new MalformedMessageReceivedException(message.FrameCount); var sender = message.PopUntilEmptyFrame(); var protocolFrame = message.Pop(); var protocol = protocolFrame.ConvertToString(); ensureProtocol(protocol); var command = message.Pop().ConvertToString(); _dispatcher.Dispatch(command, sender, message); }