private static bool CheckPacketInStream(ArraySegment <byte> buffer, int unitLength, RpcHttpRtsFlags flags, int numberOfCommands) { while (buffer.Count > 0) { int num; if (RpcHttpPackets.CheckPacket(buffer, unitLength, flags, numberOfCommands, out num)) { return(true); } if (num == 0) { break; } int num2 = buffer.Offset + num; int num3 = buffer.Count - num; if (num2 > buffer.Array.Length || num3 < 0) { break; } buffer = new ArraySegment <byte>(buffer.Array, num2, num3); } return(false); }
public static bool IsPingPacket(ArraySegment <byte> buffer) { int num; return(RpcHttpPackets.CheckPacket(buffer, 20, RpcHttpRtsFlags.Ping, 0, out num)); }