Пример #1
0
        public static byte[] EncodeSendMessageRequest(SendMessageRequest request)
        {
            //queueId
            var queueIdBytes = BitConverter.GetBytes(request.QueueId);

            //messageCode
            var messageCodeBytes = BitConverter.GetBytes(request.Message.Code);

            //createdTimeTicks
            var messageCreatedTimeTicksBytes = BitConverter.GetBytes(request.Message.CreatedTime.Ticks);

            //topic
            var topicBytes = Encoding.UTF8.GetBytes(request.Message.Topic);
            var topicLengthBytes = BitConverter.GetBytes(topicBytes.Length);

            //tag
            var tagBytes = EmptyBytes;
            if (!string.IsNullOrEmpty(request.Message.Tag))
            {
                tagBytes = Encoding.UTF8.GetBytes(request.Message.Tag);
            }
            var tagLengthBytes = BitConverter.GetBytes(tagBytes.Length);

            return Combine(
                queueIdBytes,
                messageCodeBytes,
                messageCreatedTimeTicksBytes,
                topicLengthBytes,
                topicBytes,
                tagLengthBytes,
                tagBytes,
                request.Message.Body);
        }
Пример #2
0
 public static byte[] EncodeSendMessageRequest(SendMessageRequest request)
 {
     var queueIdBytes = BitConverter.GetBytes(request.QueueId);
     var codeBytes = BitConverter.GetBytes(request.Message.Code);
     var topicBytes = Encoding.UTF8.GetBytes(request.Message.Topic);
     var topicLengthBytes = BitConverter.GetBytes(topicBytes.Length);
     var routingKeyBytes = Encoding.UTF8.GetBytes(request.RoutingKey);
     var routingKeyLengthBytes = BitConverter.GetBytes(routingKeyBytes.Length);
     return Combine(queueIdBytes, codeBytes, topicLengthBytes, topicBytes, routingKeyLengthBytes, routingKeyBytes, request.Message.Body);
 }
Пример #3
0
        public static byte[] EncodeSendMessageRequest(SendMessageRequest request)
        {
            var queueIdBytes = BitConverter.GetBytes(request.QueueId);
            var topicBytes = Encoding.UTF8.GetBytes(request.Message.Topic);
            var topicLengthBytes = BitConverter.GetBytes(topicBytes.Length);

            var data = new byte[queueIdBytes.Length + topicLengthBytes.Length + topicBytes.Length + request.Message.Body.Length];

            queueIdBytes.CopyTo(data, 0);
            topicLengthBytes.CopyTo(data, queueIdBytes.Length);
            topicBytes.CopyTo(data, queueIdBytes.Length + topicLengthBytes.Length);
            request.Message.Body.CopyTo(data, queueIdBytes.Length + topicLengthBytes.Length + topicBytes.Length);

            return data;
        }
Пример #4
0
 private RemotingRequest BuildSendMessageRequest(Message message, int queueId, object routingKey)
 {
     var request = new SendMessageRequest { Message = message, QueueId = queueId, RoutingKey = routingKey.ToString() };
     var data = MessageUtils.EncodeSendMessageRequest(request);
     return new RemotingRequest((int)RequestCode.SendMessage, data);
 }
Пример #5
0
 private RemotingRequest BuildSendMessageRequest(Message message, int queueId)
 {
     var request = new SendMessageRequest { Message = message, QueueId = queueId };
     var data = MessageUtils.EncodeSendMessageRequest(request);
     return new RemotingRequest((int)RequestCode.SendMessage, data);
 }
Пример #6
0
 private RemotingRequest BuildSendMessageRequest(Message message, int queueId)
 {
     var request = new SendMessageRequest { Message = message, QueueId = queueId };
     var data = MessageUtils.EncodeSendMessageRequest(request);
     if (data.Length > Setting.MessageMaxSize)
     {
         throw new Exception("Message size cannot exceed max message size:" + Setting.MessageMaxSize);
     }
     return new RemotingRequest((int)RequestCode.SendMessage, data);
 }