Exemple #1
0
        public override bool Go(BasicDeliverEventArgs ea)
        {
            switch (ea.RoutingKey)
            {
            case MqKeyword.MinerClientWsClosedRoutingKey: {
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                Guid     clientId  = MinerClientMqBodyUtil.GetClientIdMqReciveBody(ea.Body);
                if (clientId != Guid.Empty)
                {
                    VirtualRoot.RaiseEvent(new MinerClientWsClosedMqEvent(appId, clientId, timestamp));
                }
            }
            break;

            case MqKeyword.MinerClientsWsBreathedRoutingKey: {
                DateTime timestamp = Timestamp.FromTimestamp(ea.BasicProperties.Timestamp.UnixTime);
                string   appId     = ea.BasicProperties.AppId;
                Guid[]   clientIds = MinerClientMqBodyUtil.GetClientIdsMqReciveBody(ea.Body);
                if (clientIds != null && clientIds.Length != 0)
                {
                    VirtualRoot.RaiseEvent(new MinerClientsWsBreathedMqEvent(appId, clientIds, timestamp));
                }
            }
            break;

            default:
                return(false);
            }
            return(true);
        }
Exemple #2
0
 protected override Dictionary <string, Action <BasicDeliverEventArgs> > GetPaths()
 {
     return(new Dictionary <string, Action <BasicDeliverEventArgs> > {
         [MqKeyword.MinerClientWsClosedRoutingKey] = ea => {
             string appId = ea.BasicProperties.AppId;
             Guid clientId = MinerClientMqBodyUtil.GetClientIdMqReciveBody(ea.Body);
             if (clientId != Guid.Empty)
             {
                 VirtualRoot.RaiseEvent(new MinerClientWsClosedMqEvent(appId, clientId, ea.GetTimestamp()));
             }
         },
         [MqKeyword.MinerClientsWsBreathedRoutingKey] = ea => {
             string appId = ea.BasicProperties.AppId;
             Guid[] clientIds = MinerClientMqBodyUtil.GetClientIdsMqReciveBody(ea.Body);
             if (clientIds != null && clientIds.Length != 0)
             {
                 VirtualRoot.RaiseEvent(new MinerClientsWsBreathedMqEvent(appId, clientIds, ea.GetTimestamp()));
             }
         }
     });
 }