public void PostUserMessage(object msg)
        {
            // if the message is a batch message, we unpack the content as individual messages in the mailbox
            // feature Aka: Samkuvertering in Swedish...
            if (msg is IMessageBatch || msg is MessageEnvelope e && e.Message is IMessageBatch)
            {
                var batch    = (IMessageBatch)MessageEnvelope.UnwrapMessage(msg) !;
                var messages = batch.GetMessages();

                foreach (var message in messages)
                {
                    _userMailbox.Push(message);
                    foreach (var t in _stats)
                    {
                        t.MessagePosted(message);
                    }
                }

                _userMailbox.Push(msg);
                foreach (var t in _stats)
                {
                    t.MessagePosted(msg);
                }

                Schedule();
            }
Exemple #2
0
        public void PostUserMessage(object msg)
        {
            _userMessages.Push(msg);

            // Logger.LogDebug("[EndpointWriterMailbox] received User Message {@Message}", msg);
            Schedule();
        }
Exemple #3
0
 public void PostUserMessage(object msg)
 {
     _userMailbox.Push(msg);
     for (var i = 0; i < _stats.Length; i++)
     {
         _stats[i].MessagePosted(msg);
     }
     Schedule();
 }
Exemple #4
0
 public void PostSystemMessage(object msg)
 {
     _systemMessages.Push(msg);
     for (var i = 0; i < _stats.Length; i++)
     {
         _stats[i].MessagePosted(msg);
     }
     Schedule();
 }
Exemple #5
0
 public void PostUserMessage(object msg)
 {
     _userMailbox.Push(msg);
     foreach (var t in _stats)
     {
         t.MessagePosted(msg);
     }
     Schedule();
 }
Exemple #6
0
 public void PostSystemMessage(object msg)
 {
     _systemMessages.Push(msg);
     Interlocked.Increment(ref _systemMessageCount);
     foreach (var t in _stats)
     {
         t.MessagePosted(msg);
     }
     Schedule();
 }
Exemple #7
0
 public void PostSystemMessage(object msg)
 {
     _systemMessages.Push(msg);
     Schedule();
 }
Exemple #8
0
 public void PostUserMessage(object msg)
 {
     _userMessages.Push(msg);
     Schedule();
 }