Beispiel #1
0
        public int GetImageId(IdentifiedMessage message)
        {
            switch (message.MsgCategory())
            {
            case Category.Errors:
                return(1);

            case Category.Chat:
                return(55);

            case Category.Connexion:
                return(82);

            case Category.Fight:
                return(84);

            case Category.Map:
                return(32);

            case Category.Move:
                return(95);

            case Category.Others:
                return(149 + ((int)message.GetMsgId % 9));
            }
            return(0);
        }
Beispiel #2
0
        /// <summary>
        ///   Adds the message to list view.
        /// </summary>
        /// <param name = "message">The message.</param>
        /// <param name = "sender">The sender.</param>
        public void AddMessageToListView(Message message, string sender)
        {
            var identifiedMessage = new IdentifiedMessage(message, sender);

            if (messageListView.InvokeRequired)
            {
                messageListView.Invoke(new ParameterizedThreadStart(AddToListView), identifiedMessage);
            }
            else
            {
                AddToListView(identifiedMessage);
            }
        }
        public async Task ProduceMessage(Message message)
        {
            var id = uniqueIdentifier.GetUniqueIdentifier();

            var IdentifiedMessage = new IdentifiedMessage
            {
                ParentId = id,
                Message  = message,
            };

            await producer.ProduceAsync(configuration.TopicName, new Message <Null, IdentifiedMessage> {
                Value = IdentifiedMessage
            });
        }
        IdentifiedMessage IMessageConsumer.ConsumeMessage(CancellationToken cancellationToken)
        {
            var processId = uniqueIdentifier.GetUniqueIdentifier();

            IdentifiedMessage identifiedMessage = null;

            do
            {
                try
                {
                    var result = consumer.Consume(cancellationToken);

                    identifiedMessage = result.Message.Value;
                }
                catch (OperationCanceledException)
                {
                    consumer.Close();

                    throw;
                }
            } while (identifiedMessage.ParentId == processId);

            return(identifiedMessage);
        }
Beispiel #5
0
 private bool PopOutputMessage(out IdentifiedMessage message)
 {
     return(_outputQueue.TryDequeue(out message));
 }