private void CheckFirstFrame(IMutableDirectBuffer buffer, int offset) { int frameType = HeaderFlyweight.HDR_TYPE_DATA; int blockTermOffset = buffer.GetInt(offset + DataHeaderFlyweight.TERM_OFFSET_FIELD_OFFSET, ByteOrder.LittleEndian); int blockSessionId = buffer.GetInt(offset + DataHeaderFlyweight.SESSION_ID_FIELD_OFFSET, ByteOrder.LittleEndian); int blockStreamId = buffer.GetInt(offset + DataHeaderFlyweight.STREAM_ID_FIELD_OFFSET, ByteOrder.LittleEndian); int blockTermId = buffer.GetInt(offset + DataHeaderFlyweight.TERM_ID_FIELD_OFFSET, ByteOrder.LittleEndian); int blockFrameType = buffer.GetShort(offset + HeaderFlyweight.TYPE_FIELD_OFFSET, ByteOrder.LittleEndian) & 0xFFFF; if (blockTermOffset != _termOffset || blockSessionId != SessionId || blockStreamId != StreamId || blockTermId != _termId || frameType != blockFrameType) { throw new ArgumentException("improperly formatted block:" + " termOffset=" + blockTermOffset + " (expected=" + _termOffset + ")," + " sessionId=" + blockSessionId + " (expected=" + SessionId + ")," + " streamId=" + blockStreamId + " (expected=" + StreamId + ")," + " termId=" + blockTermId + " (expected=" + _termId + ")," + " frameType=" + blockFrameType + " (expected=" + frameType + ")"); } }