示例#1
0
        private void OnGameClientEvent(object sender, EventDataEventArgs e)
        {
            switch (e.EventData.Code)
            {
            case 100:
            {
                var  data     = (Hashtable)e.EventData[245];
                long now      = watch.ElapsedMilliseconds;
                var  sendTime = (long)data[0];
                long diff     = now - sendTime;
//                    if (log.IsDebugEnabled)
//                    {
//                        log.DebugFormat("RTT: {0}ms", diff);
//                    }
                Counter.SelfMonitoringRtt.IncrementBy(diff);
                break;
            }

            case (byte)EventCode.Join:
            case (byte)EventCode.Leave:
                //do nothing
                break;

            default:
                if (log.IsDebugEnabled)
                {
                    log.DebugFormat("TestClient({1}): received unhandled event '{0}'", e.EventData.Code, userId);
                }
                break;
            }
        }
 /// <summary>
 ///   Does nothing.
 /// </summary>
 /// <param name = "sender">
 ///   The sender.
 /// </param>
 /// <param name = "e">
 ///   The event args.
 /// </param>
 private static void TcpClient_OnEvent(object sender, EventDataEventArgs e)
 {
     ////log.Info("Event" + (LiteCode)e.EventData.Code);
     ////if (e.EventData.Code == (int)LiteCode.Join)
     ////{
     ////    if (Interlocked.Increment(ref this.counter) == ClientCount)
     ////    {
     ////        this.autoReset.Set();
     ////    }
     ////}
 }
示例#3
0
        private void ClientOnOnMessageReceived(RpcClient rpcClient1, RPCMessage rpcMessage)
        {
            switch (rpcMessage)
            {
            case RPCResponseMessage responseMessage:
                if (!_messageResponsesHandlers.TryRemove(responseMessage.RequestMessageId, out var value))
                {
                    return;
                }
                value.Message = responseMessage;
                value.Event.Set();
                break;

            case RPCEventMessage eventMessage:
                if (!_previousMessages.TryGetValue(eventMessage.MessageId, out _))
                {
                    _previousMessages.TryAdd(eventMessage.MessageId, null);
                    var edea = EventDataEventArgs.Retrieve(eventMessage.ServiceName, eventMessage.EventName, eventMessage.EventArgs);
                    OnEventReceived?.Invoke(this, edea);
                    EventDataEventArgs.Store(edea);
                }
                break;

            case RPCPushMessage pushMessage:
                if (!_previousMessages.TryGetValue(pushMessage.MessageId, out _))
                {
                    _previousMessages.TryAdd(pushMessage.MessageId, null);
                    var evArgs = ReferencePool <EventArgs <RPCPushMessage> > .Shared.New();

                    evArgs.Item1 = pushMessage;
                    OnPushMessageReceived?.Invoke(this, evArgs);
                    evArgs.Item1 = null;
                    ReferencePool <EventArgs <RPCPushMessage> > .Shared.Store(evArgs);
                }
                break;

            case RPCError errorMessage:
                var respMsg = RPCResponseMessage.Retrieve(errorMessage);
                foreach (var mHandler in _messageResponsesHandlers.ToArray())
                {
                    mHandler.Value.Message = respMsg;
                    mHandler.Value.Event.Set();
                    _messageResponsesHandlers.TryRemove(mHandler.Key, out _);
                }
                break;
            }
        }
示例#4
0
        private void OnMasterClientEvent(object sender, EventDataEventArgs e)
        {
            var eventToString = new StringBuilder();

            if (e.EventData.Code == (byte)LoadBalancing.Events.EventCode.GameList)
            {
                var gameList = (Hashtable)e.EventData.Parameters[(byte)ParameterCode.GameList];
                log.InfoFormat("MASTER: GameList event received. Currently: {0} Games visible.", gameList.Count);
            }

            else
            {
                foreach (var data in e.EventData.Parameters)
                {
                    eventToString.AppendFormat("{0} -> {1};", data.Key, data.Value);
                }

                if (log.IsDebugEnabled)
                {
                    log.DebugFormat("MASTER: Received Event {0}: {1}", e.EventData.Code, eventToString);
                }
            }
        }
示例#5
0
 private void OnGameClientEvent(object sender, EventDataEventArgs e)
 {
     //Console.Write('r');
 }
示例#6
0
 private void Reader_MessageReceived(object sender, EventDataEventArgs e)
 {
     HandleEvent(e.Data);
 }
示例#7
0
        private void OnMasterClientEvent(object sender, EventDataEventArgs e)
        {
            var eventToString = new StringBuilder();

            if (e.EventData.Code == (byte)LoadBalancing.Events.EventCode.GameList)
            {
                var gameList = (Hashtable) e.EventData.Parameters[(byte)ParameterCode.GameList];
                log.InfoFormat("MASTER: GameList event received. Currently: {0} Games visible.", gameList.Count);
            }

            else
            {
                foreach (var data in e.EventData.Parameters)
                {
                    eventToString.AppendFormat("{0} -> {1};", data.Key, data.Value);
                }

                if (log.IsDebugEnabled)
                {
                    log.DebugFormat("MASTER: Received Event {0}: {1}", e.EventData.Code, eventToString);
                }
            }
        }
示例#8
0
 private void OnGameClientEvent(object sender, EventDataEventArgs e)
 {
     //Console.Write('r');
 }
 /// <summary>
 ///   Does nothing.
 /// </summary>
 /// <param name = "sender">
 ///   The sender.
 /// </param>
 /// <param name = "e">
 ///   The event args.
 /// </param>
 private static void TcpClient_OnEvent(object sender, EventDataEventArgs e)
 {
     ////log.Info("Event" + (LiteCode)e.EventData.Code);
     ////if (e.EventData.Code == (int)LiteCode.Join)
     ////{
     ////    if (Interlocked.Increment(ref this.counter) == ClientCount)
     ////    {
     ////        this.autoReset.Set();
     ////    }
     ////}
 }