Terraria.NetMessage.CheckBytes C# (CSharp) Method

CheckBytes() public static method

public static CheckBytes ( int bufferIndex = 256 ) : void
bufferIndex int
return void
        public static void CheckBytes(int bufferIndex = 256)
        {
            lock (NetMessage.buffer[bufferIndex])
            {
                int local_0 = 0;
                int local_1 = NetMessage.buffer[bufferIndex].totalData;
                try
                {
                    while (local_1 >= 2)
                    {
                        int local_2 = (int)BitConverter.ToUInt16(NetMessage.buffer[bufferIndex].readBuffer, local_0);
                        if (local_1 >= local_2)
                        {
                            int local_3;
                            NetMessage.buffer[bufferIndex].GetData(local_0 + 2, local_2 - 2, out local_3);
                            local_1 -= local_2;
                            local_0 += local_2;
                        }
                        else
                            break;
                    }
                }
                catch
                {
                    local_1 = 0;
                    local_0 = 0;
                }
                if (local_1 != NetMessage.buffer[bufferIndex].totalData)
                {
                    for (int local_4 = 0; local_4 < local_1; ++local_4)
                        NetMessage.buffer[bufferIndex].readBuffer[local_4] = NetMessage.buffer[bufferIndex].readBuffer[local_4 + local_0];
                    NetMessage.buffer[bufferIndex].totalData = local_1;
                }
                NetMessage.buffer[bufferIndex].checkBytes = false;
            }
        }