public UnpackerState ConvertToReceive(ref IMessage message, IUserNetwork user)
        {
            IMessageData  d = null;
            Packet        p = user.PacketReceive;
            UnpackerState s = _unpacker.CreateMessageData(ref d, p);

            if (s == UnpackerState.Ok)
            {
                message = new MessageRealization(d, new MessageAddress(user));
            }
            user.PacketReceive.Clear();
            return(s);
        }
Beispiel #2
0
 private void ReceiveAll()
 {
     foreach (IUserNetwork user in _clients)
     {
         while (true)
         {
             _network.Receive(user);
             IMessage      m = null;
             UnpackerState s = _converter.ConvertToReceive(ref m, user);
             if (s == UnpackerState.Ok)
             {
                 _messagesManager.SetMessage(m);
             }
             else if (s == UnpackerState.NotReady)
             {
                 break;
             }
             else
             {
                 throw new System.SystemException("hoho");
             }
         }
     }
 }