示例#1
0
        /// <summary>
        /// Sends TMQ message to client
        /// </summary>
        public bool Send(TmqMessage message)
        {
            if (UseUniqueMessageId && string.IsNullOrEmpty(message.MessageId))
            {
                message.SetMessageId(_uniqueIdGenerator.Create());
            }

            byte[] data = _writer.Create(message).Result;
            return(Send(data));
        }
示例#2
0
        /// <summary>
        /// Sends TMQ message to client
        /// </summary>
        public async Task <bool> SendAsync(TmqMessage message)
        {
            if (UseUniqueMessageId && string.IsNullOrEmpty(message.MessageId))
            {
                message.SetMessageId(_uniqueIdGenerator.Create());
            }

            byte[] data = await _writer.Create(message);

            return(await SendAsync(data));
        }
示例#3
0
        /// <summary>
        /// Create a response message of the message
        /// </summary>
        public TmqMessage CreateResponse()
        {
            TmqMessage message = new TmqMessage();

            message.FirstAcquirer = FirstAcquirer;
            message.HighPriority  = HighPriority;
            message.Type          = MessageType.Response;
            message.SetMessageId(MessageId);
            message.SetTarget(Type == MessageType.Channel ? Target : Source);

            return(message);
        }
示例#4
0
        /// <summary>
        /// Create an acknowledge message of the message
        /// </summary>
        public TmqMessage CreateAcknowledge()
        {
            TmqMessage message = new TmqMessage();

            message.FirstAcquirer = FirstAcquirer;
            message.HighPriority  = Type == MessageType.Client;
            message.Type          = MessageType.Acknowledge;
            message.SetMessageId(MessageId);
            message.ContentType = ContentType;
            message.SetTarget(Type == MessageType.Channel ? Target : Source);

            return(message);
        }