DispatchOrders() public method

public DispatchOrders ( Connection conn, int frame, byte data ) : void
conn Connection
frame int
data byte
return void
Ejemplo n.º 1
0
        public void ReadData(Server server)
        {
            if (ReadDataInner(server))
            {
                while (data.Count >= ExpectLength)
                {
                    var bytes = PopBytes(ExpectLength);
                    switch (State)
                    {
                    case ReceiveState.Header:
                    {
                        ExpectLength = BitConverter.ToInt32(bytes, 0) - 4;
                        Frame        = BitConverter.ToInt32(bytes, 4);
                        State        = ReceiveState.Data;
                    } break;

                    case ReceiveState.Data:
                    {
                        server.DispatchOrders(this, Frame, bytes);
                        MostRecentFrame = Frame;
                        ExpectLength    = 8;
                        State           = ReceiveState.Header;

                        server.UpdateInFlightFrames(this);
                    } break;
                    }
                }
            }
        }
        public void ReadData( Server server )
        {
            if (ReadDataInner(server))
                while (data.Count >= ExpectLength)
                {
                    var bytes = PopBytes(ExpectLength);
                    switch (State)
                    {
                        case ReceiveState.Header:
                            {
                                ExpectLength = BitConverter.ToInt32(bytes, 0) - 4;
                                Frame = BitConverter.ToInt32(bytes, 4);
                                State = ReceiveState.Data;
                            } break;

                        case ReceiveState.Data:
                            {
                                server.DispatchOrders(this, Frame, bytes);
                                MostRecentFrame = Frame;
                                ExpectLength = 8;
                                State = ReceiveState.Header;

                                server.UpdateInFlightFrames(this);
                            } break;
                    }
                }
        }
Ejemplo n.º 3
0
        public void ReadData(Server server)
        {
            if (ReadDataInner(server))
            {
                while (Data.Count >= ExpectLength)
                {
                    var bytes = PopBytes(ExpectLength);
                    switch (State)
                    {
                    case ReceiveState.Header:
                    {
                        ExpectLength = BitConverter.ToInt32(bytes, 0) - 4;
                        Frame        = BitConverter.ToInt32(bytes, 4);
                        State        = ReceiveState.Data;

                        if (ExpectLength < 0 || ExpectLength > MaxOrderLength)
                        {
                            server.DropClient(this);
                            Log.Write("server", "Dropping client {0} for excessive order length = {1}", PlayerIndex, ExpectLength);
                            return;
                        }
                    } break;

                    case ReceiveState.Data:
                    {
                        server.DispatchOrders(this, Frame, bytes);
                        MostRecentFrame = Frame;
                        ExpectLength    = 8;
                        State           = ReceiveState.Header;
                    } break;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void ReadData(Server server)
        {
            if (ReadDataInner(server))
                while (data.Count >= ExpectLength)
                {
                    var bytes = PopBytes(ExpectLength);
                    switch (State)
                    {
                        case ReceiveState.Header:
                            {
                                ExpectLength = BitConverter.ToInt32(bytes, 0) - 4;
                                Frame = BitConverter.ToInt32(bytes, 4);
                                State = ReceiveState.Data;

                                if (ExpectLength < 0 || ExpectLength > MaxOrderLength)
                                {
                                    server.DropClient(this);
                                    Log.Write("server", "Dropping client {0} for excessive order length = {1}", PlayerIndex, ExpectLength);
                                    return;
                                }
                            } break;

                        case ReceiveState.Data:
                            {
                                server.DispatchOrders(this, Frame, bytes);
                                MostRecentFrame = Frame;
                                ExpectLength = 8;
                                State = ReceiveState.Header;

                                server.UpdateInFlightFrames(this);
                            } break;
                    }
                }
        }