private ReadVariableUInt32 ( uint &result ) : bool | ||
result | uint | |
return | bool |
public bool ReadVariableUInt32(out uint result)
{
int num1 = 0;
int num2 = 0;
while (m_bitLength - m_readPosition >= 8)
{
byte num3;
if (ReadByte(out num3) == false)
{
result = 0;
return false;
}
num1 |= (num3 & 0x7f) << num2;
num2 += 7;
if ((num3 & 0x80) == 0)
{
result = (uint)num1;
return true;
}
}
result = (uint)num1;
return false;
}
NetBuffer::ReadVariableUInt32 ( ) : uint |
/// <summary> /// Read this message from the packet buffer /// </summary> /// <returns>new read pointer position</returns> internal void ReadFrom(NetBuffer buffer, IPEndPoint endpoint) { m_senderEndPoint = endpoint; // read header byte header = buffer.ReadByte(); m_type = (NetMessageLibraryType)(header & 7); m_sequenceChannel = (NetChannel)(header >> 3); m_sequenceNumber = buffer.ReadUInt16(); int payLen = (int)buffer.ReadVariableUInt32(); // copy payload into message buffer m_data.EnsureBufferSize(payLen * 8); buffer.ReadBytes(m_data.Data, 0, payLen); m_data.Reset(0, payLen * 8); return; }