public void WriteHeader(uint contentLen, byte packetNumber) { #if DEBUG if (contentLen > Connection.MAX_PACKET_CONTENT_LENGTH) { throw new Exception("Packet for query is too larger than MAX_ALLOWED_LENGTH"); } #endif WriteEncodedUnsignedNumber0_3(_headerBuffer, contentLen); _headerBuffer[3] = packetNumber; _writer.RewindWriteAndJumpBack(_headerBuffer, (int)_startPacketPosition); }
public void WriteHeader(PacketHeader header) { // var packets = Math.floor(this._buffer.length / MAX_PACKET_LENGTH) + 1; // var buffer = this._buffer; //int maxPacketLength = MAX_PACKET_LENGTH; long totalPacketLength = OnlyPacketContentLength + 4; #if DEBUG SharpConnect.Internal.dbugConsole.WriteLine("Current Packet Length = " + totalPacketLength); #endif //TODO: review MAX_PACKET_LENGTH here **** //it should be //int packetCount = (int)((totalPacketLength - 4) / _maxAllowedLength) + 1;//-4 bytes of reserve header if (totalPacketLength > _serverMaxDataLength) { throw new Exception("Packet for query is too larger than MAX_ALLOWED_LENGTH"); } if (header.ContentLength > Packet.MAX_PACKET_LENGTH) { throw new Exception("Packet for query is too larger than MAX_ALLOWED_LENGTH"); } WriteEncodedUnsignedNumber0_3(_headerBuffer, header.ContentLength); _headerBuffer[3] = header.PacketNumber; _writer.RewindWriteAndJumpBack(_headerBuffer, (int)_startPacketPosition); }