コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }