Interface Writer

All Known Implementing Classes:
PacketWriter

public interface Writer
Packet Writer interface
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    buf()
    Current buffer
    boolean
    Buffer has data after marked position
    void
    Close socket stream
    void
    Send packet to socket.
    void
    Flush to last mark.
    void
    Send packet to buffered outputstream without flushing
    long
    Get current command length
    byte
    Get current sequence object
    boolean
    Current command has flushed packet to socket
    void
    reset sequences and position for sending a new packet
    boolean
    has some position been marked
    void
    mark position
    void
    permitTrace(boolean permitTrace)
    Indicate if logging trace are permitted
    int
    pos()
    current buffer position
    void
    pos(int pos)
    Set current buffer position
    byte[]
    Reset mark flag and send bytes after mark flag.
    void
    setServerThreadId(Long serverThreadId, HostAddress hostAddress)
    Set server thread id.
    boolean
    must a max allowed length exception be thrown
    void
    Write ascii string to buffer
    void
    writeByte(int value)
    Write byte into buf, flush buf to socket if needed.
    void
    writeBytes(byte[] arr)
    Write byte array to buffer
    void
    writeBytes(byte[] arr, int off, int len)
    Write byte array to buf.
    void
    writeBytesAtPos(byte[] arr, int pos)
    Write byte array to buffer at a specific position
    void
    writeBytesEscaped(byte[] bytes, int len, boolean noBackslashEscapes)
    Write escape bytes to socket.
    void
    writeDouble(double value)
    Write Double binary value to buffer
    void
    Send empty packet.
    void
    writeFloat(float value)
    Write float binary value to buffer
    void
    writeInt(int value)
    Write int value into buf.
    void
    writeLength(long length)
    Write field length into buf, flush socket if needed.
    void
    writeLong(long value)
    Write long value into buf.
    void
    writeShort(short value)
    Write short value into buf.
    void
    Write utf8 string to buffer
    void
    writeStringEscaped(String str, boolean noBackslashEscapes)
    Write string to socket.
  • Method Details

    • pos

      int pos()
      current buffer position
      Returns:
      current buffer position
    • buf

      byte[] buf()
      Current buffer
      Returns:
      current buffer
    • pos

      void pos(int pos) throws IOException
      Set current buffer position
      Parameters:
      pos - position
      Throws:
      IOException - if buffer cannot grow to position
    • writeByte

      void writeByte(int value) throws IOException
      Write byte into buf, flush buf to socket if needed.
      Parameters:
      value - byte to send
      Throws:
      IOException - if socket error occur.
    • writeShort

      void writeShort(short value) throws IOException
      Write short value into buf. flush buf if too small.
      Parameters:
      value - short value
      Throws:
      IOException - if socket error occur
    • writeInt

      void writeInt(int value) throws IOException
      Write int value into buf. flush buf if too small.
      Parameters:
      value - int value
      Throws:
      IOException - if socket error occur
    • writeLong

      void writeLong(long value) throws IOException
      Write long value into buf. flush buf if too small.
      Parameters:
      value - long value
      Throws:
      IOException - if socket error occur
    • writeDouble

      void writeDouble(double value) throws IOException
      Write Double binary value to buffer
      Parameters:
      value - double value
      Throws:
      IOException - if socket error occur
    • writeFloat

      void writeFloat(float value) throws IOException
      Write float binary value to buffer
      Parameters:
      value - float value
      Throws:
      IOException - if socket error occur
    • writeBytes

      void writeBytes(byte[] arr) throws IOException
      Write byte array to buffer
      Parameters:
      arr - bytes
      Throws:
      IOException - if socket error occur
    • writeBytesAtPos

      void writeBytesAtPos(byte[] arr, int pos)
      Write byte array to buffer at a specific position
      Parameters:
      arr - bytes
      pos - position
    • writeBytes

      void writeBytes(byte[] arr, int off, int len) throws IOException
      Write byte array to buf. If buf is full, flush socket.
      Parameters:
      arr - byte array
      off - offset
      len - byte length to write
      Throws:
      IOException - if socket error occur
    • writeLength

      void writeLength(long length) throws IOException
      Write field length into buf, flush socket if needed.
      Parameters:
      length - field length
      Throws:
      IOException - if socket error occur.
    • writeAscii

      void writeAscii(String str) throws IOException
      Write ascii string to buffer
      Parameters:
      str - string
      Throws:
      IOException - if socket error occurs
    • writeString

      void writeString(String str) throws IOException
      Write utf8 string to buffer
      Parameters:
      str - string
      Throws:
      IOException - if socket error occurs
    • writeStringEscaped

      void writeStringEscaped(String str, boolean noBackslashEscapes) throws IOException
      Write string to socket.
      Parameters:
      str - string
      noBackslashEscapes - escape method
      Throws:
      IOException - if socket error occur
    • writeBytesEscaped

      void writeBytesEscaped(byte[] bytes, int len, boolean noBackslashEscapes) throws IOException
      Write escape bytes to socket.
      Parameters:
      bytes - bytes
      len - len to write
      noBackslashEscapes - escape method
      Throws:
      IOException - if socket error occur
    • writeEmptyPacket

      void writeEmptyPacket() throws IOException
      Send empty packet.
      Throws:
      IOException - if socket error occur.
    • flush

      void flush() throws IOException
      Send packet to socket.
      Throws:
      IOException - if socket error occur.
    • flushPipeline

      void flushPipeline() throws IOException
      Send packet to buffered outputstream without flushing
      Throws:
      IOException - if socket error occur.
    • throwMaxAllowedLength

      boolean throwMaxAllowedLength(int length)
      must a max allowed length exception be thrown
      Parameters:
      length - command length
      Returns:
      true if too big
    • getCmdLength

      long getCmdLength()
      Get current command length
      Returns:
      command length
    • permitTrace

      void permitTrace(boolean permitTrace)
      Indicate if logging trace are permitted
      Parameters:
      permitTrace - permits trace to be logged
    • setServerThreadId

      void setServerThreadId(Long serverThreadId, HostAddress hostAddress)
      Set server thread id.
      Parameters:
      serverThreadId - current server thread id.
      hostAddress - host information
    • mark

      void mark()
      mark position
    • isMarked

      boolean isMarked()
      has some position been marked
      Returns:
      is marked
    • hasFlushed

      boolean hasFlushed()
      Current command has flushed packet to socket
      Returns:
      indicate if some packet have been flushed
    • flushBufferStopAtMark

      void flushBufferStopAtMark() throws IOException
      Flush to last mark.
      Throws:
      IOException - if flush fail.
    • bufIsDataAfterMark

      boolean bufIsDataAfterMark()
      Buffer has data after marked position
      Returns:
      indicate if there is data after marked position
    • resetMark

      byte[] resetMark()
      Reset mark flag and send bytes after mark flag.
      Returns:
      bytes after mark flag
    • initPacket

      void initPacket()
      reset sequences and position for sending a new packet
    • close

      void close() throws IOException
      Close socket stream
      Throws:
      IOException - if any error occurs
    • getSequence

      byte getSequence()
      Get current sequence object
      Returns:
      current sequence