예제 #1
0
 //////////////////////////////
 public void Send(IMessageDataOutgoing pMessageData, MessageDataOutgoingSettings pMessageDataToSendSettings)
 {
     if (_bDoWork)
     {
         _oMessagesQueue.Value.Enqueue(new MessageToSendOnQueue(pMessageData, pMessageDataToSendSettings));
     }
 }
예제 #2
0
        //////////////////////////////
        private static List<byte> GenerateMessageHeader(IMessageDataOutgoing pMessage, byte[] pMessageContent)
        {
            const int iMessageSize = MessageConstants.Size.MessageId + MessageConstants.Size.Version +
                                     MessageConstants.Size.EndPointName + MessageConstants.Size.EndPointIpAddress +
                                     MessageConstants.Size.DateSent + MessageConstants.Size.MessageDataType +
                                     MessageConstants.Size.MessageContentType + MessageConstants.Size.MessageHeaderCripto;

            var oHeader = new List<byte>(iMessageSize);

            oHeader.AddRange(pMessage.MessageID.ToByteArray());
            oHeader.AddRange(Encoding.ASCII.GetBytes(pMessage.Version.ToString(CultureInfo.InvariantCulture)));
            oHeader.AddRange(Encoding.ASCII.GetBytes(Settings.EndPointName));
            oHeader.AddRange(Encoding.ASCII.GetBytes(Settings.EndPointIpAddress));
            oHeader.AddRange(Encoding.ASCII.GetBytes(DateTime.UtcNow.ToString("yyyyMMddHHmmss")));
            oHeader.AddRange(Encoding.ASCII.GetBytes(pMessage.MessageDataType.ToString()));
            oHeader.AddRange(Encoding.ASCII.GetBytes(pMessage.MessageContentType.ToString()));
            oHeader.AddRange(GenerateMessageCrypto(pMessageContent));

            return oHeader;
        }
 //////////////////////////////
 //        CONSTRUCTORS      //
 //////////////////////////////
 public MessageToSendOnQueueError(IMessageDataOutgoing pMessageData, MessageDataOutgoingSettings pMessageDataToSendSettings)
     : base(pMessageData, pMessageDataToSendSettings)
 {
 }
예제 #4
0
 //////////////////////////////
 //        CONSTRUCTORS      //
 //////////////////////////////
 public MessageToSendOnQueue(IMessageDataOutgoing pMessageDataToSend, MessageDataOutgoingSettings pMessageDataToSendSettings)
 {
     _oMessageDataToSend = pMessageDataToSend;
     _oMessageDataToSendSettings = pMessageDataToSendSettings;
     _oMessageID = Guid.NewGuid();
 }
예제 #5
0
 //////////////////////////////
 //       CONSTRUCTORS       //
 //////////////////////////////
 public TraceStage(IMessageDataOutgoing pMessageData)
 {
     _oMessage = pMessageData;
 }