Class StandardPacketInputStream

    • Field Detail

      • REUSABLE_BUFFER_LENGTH

        private static final int REUSABLE_BUFFER_LENGTH
        See Also:
        Constant Field Values
      • logger

        private static final Logger logger
      • header

        private final byte[] header
      • reusableArray

        private final byte[] reusableArray
      • inputStream

        private final java.io.InputStream inputStream
      • maxQuerySizeToLog

        private final int maxQuerySizeToLog
      • packetSeq

        private int packetSeq
      • lastPacketLength

        private int lastPacketLength
      • serverThreadLog

        private java.lang.String serverThreadLog
      • threadId

        private long threadId
    • Constructor Detail

      • StandardPacketInputStream

        public StandardPacketInputStream​(java.io.InputStream in,
                                         Options options,
                                         long threadId)
        Constructor of standard socket MySQL packet stream reader.
        Parameters:
        in - stream
        options - connection options
        threadId - thread id
    • Method Detail

      • create

        public static byte[] create​(byte[] value)
        Constructor for single Data (using text format).
        Parameters:
        value - value
        Returns:
        Buffer
      • create

        public static byte[] create​(byte[][] row,
                                    ColumnType[] columnTypes)
        Create Buffer with Text protocol values.
        Parameters:
        row - row data
        columnTypes - column types
        Returns:
        Buffer
      • getPacket

        public Buffer getPacket​(boolean reUsable)
                         throws java.io.IOException
        Specified by:
        getPacket in interface PacketInputStream
        Throws:
        java.io.IOException
      • getInputStream

        public java.io.InputStream getInputStream()
        Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.
        Specified by:
        getInputStream in interface PacketInputStream
        Returns:
        input stream.
      • getPacketArray

        public byte[] getPacketArray​(boolean reUsable)
                              throws java.io.IOException
        Get next packet. If packet is more than 16M, read as many packet needed to finish packet. (first that has not length = 16Mb)
        Specified by:
        getPacketArray in interface PacketInputStream
        Parameters:
        reUsable - if can use existing reusable buffer to avoid creating array
        Returns:
        array packet.
        Throws:
        java.io.IOException - if socket exception occur.
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface PacketInputStream
        Throws:
        java.io.IOException
      • setServerThreadId

        public void setServerThreadId​(long serverThreadId,
                                      java.lang.Boolean isMaster)
        Set server thread id.
        Specified by:
        setServerThreadId in interface PacketInputStream
        Parameters:
        serverThreadId - current server thread id.
        isMaster - is server master