protected void TcpMessageArrived(ArraySegment <byte> obj) { IMessage message; try { message = _messageSerializer.FromBytes(obj); } catch (Exception ex) { Log.ErrorException(ex, "TcpMessage.FromArraySegment() threw an exception:"); throw; } var type = message.GetType(); Log.Trace("Message " + message.MsgId + " (Type " + type.Name + ") received from TCP."); if (_inboundSpamMessageTypes.Contains(type)) { if (_inboundSpamMessageQueuedHandler == null) { Log.Error("TCP message (a Message) has arrived, but _inboundSpamMessageQueuedHandler is null."); return; } _inboundSpamMessageQueuedHandler.Publish(message); } else { if (_inboundMessageQueuedHandler == null) { Log.Error("TCP message (a Message) has arrived, but _inboundMessageQueuedHandler is null."); return; } _inboundMessageQueuedHandler.Publish(message); } }