Exemplo n.º 1
0
        private void onReceiveMessage(Client from, Message message, RespondMessage respond)
        {
            switch (message.Method)
            {
            case "Ping":
                respond(new ClientPingResponse()
                {
                    ClientId = MyClientId
                });
                return;
            }

            switch (message.Type)
            {
            case MessageType.Client:
            {
                onMessage?.Invoke(from, message, respond);
                return;
            }

            case MessageType.ClientPool:
            {
                var pool = pools.FirstOrDefault(a => a.PoolName == message.ToPool);
                pool?.ReceiveMessage(from, message, respond);
                return;
            }

            case MessageType.Pool:
            {
                var pool = pools.FirstOrDefault(a => a.PoolName == message.ToPool);
                pool?.ReceiveMessage(from, message, respond);
                return;
            }

            case MessageType.PoolAll:
            {
                var pool = pools.FirstOrDefault(a => a.PoolName == message.ToPool);
                pool?.ReceiveMessage(from, message, respond);
            }
            break;

            default: throw new Exception("Type not found: " + message);
            }
        }
Exemplo n.º 2
0
Arquivo: Pool.cs Projeto: tdav/OnPool
 public void ReceiveMessage(Client from, Message message, RespondMessage respond)
 {
     onMessage?.Invoke(from, message, respond);
 }