Ejemplo n.º 1
0
        protected override bool _Send(P2pNetMessage msg)
        {
            string msgJSON = JsonConvert.SerializeObject(msg);

            RedisCon.GetSubscriber().PublishAsync(msg.dstChannel, msgJSON);
            return(true);
        }
Ejemplo n.º 2
0
        protected void _OnMessage(IMessage receivedMsg) // for all topics
        {
            ITextMessage  txtMsg = receivedMsg as ITextMessage;
            P2pNetMessage p2pMsg = JsonConvert.DeserializeObject <P2pNetMessage>(txtMsg.Text);

            _AddReceiptTimestamp(p2pMsg);
            lock (queueLock)
                messageQueue.Add(p2pMsg); // queue it up
        }
Ejemplo n.º 3
0
 protected void _ListenConcurrent(string channel)
 {
     RedisCon.GetSubscriber().Subscribe(channel, (rcvChannel, msgJSON) => {
         P2pNetMessage msg = JsonConvert.DeserializeObject <P2pNetMessage>(msgJSON);
         _AddReceiptTimestamp(msg);
         lock (queueLock)
             messageQueue.Add(msg); // queue it up
     });
 }
Ejemplo n.º 4
0
 protected override bool _Send(P2pNetMessage msg)
 {
     if (listeningTo.Contains(msg.dstChannel))
     {
         _AddReceiptTimestamp(msg);
         messageQueue.Add(msg);
     }
     return(true);
 }
Ejemplo n.º 5
0
        protected override bool _Send(P2pNetMessage msg)
        {
            IDestination     dest = session.GetTopic(msg.dstChannel);
            IMessageProducer prod = session.CreateProducer(dest);

            prod.DeliveryMode = MsgDeliveryMode.NonPersistent;
            string msgJSON = JsonConvert.SerializeObject(msg);

            prod.Send(session.CreateTextMessage(msgJSON));

            return(true);
        }
Ejemplo n.º 6
0
        protected void _ListenSequential(string channel)
        {
            var rcvChannel = RedisCon.GetSubscriber().Subscribe(channel);

            rcvChannel.OnMessage(channelMsg =>
            {
                P2pNetMessage msg = JsonConvert.DeserializeObject <P2pNetMessage>(channelMsg.Message);
                _AddReceiptTimestamp(msg);
                lock (queueLock)
                    messageQueue.Add(msg); // queue it up
            });
        }
Ejemplo n.º 7
0
 protected override void _AddReceiptTimestamp(P2pNetMessage msg) => msg.rcptTime = NowMs;