Class ByteArrayEndPoint

    • Constructor Detail

      • ByteArrayEndPoint

        public ByteArrayEndPoint()
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(byte[] input,
                                 int outputSize)
        Parameters:
        input - the input bytes
        outputSize - the output size
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(java.lang.String input,
                                 int outputSize)
        Parameters:
        input - the input string (converted to bytes using default encoding charset)
        outputSize - the output size
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(Scheduler scheduler,
                                 long idleTimeoutMs)
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(Scheduler timer,
                                 long idleTimeoutMs,
                                 byte[] input,
                                 int outputSize)
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(Scheduler timer,
                                 long idleTimeoutMs,
                                 java.lang.String input,
                                 int outputSize)
      • ByteArrayEndPoint

        public ByteArrayEndPoint​(Scheduler timer,
                                 long idleTimeoutMs,
                                 java.nio.ByteBuffer input,
                                 java.nio.ByteBuffer output)
    • Method Detail

      • execute

        protected void execute​(java.lang.Runnable task)
      • needsFillInterest

        protected void needsFillInterest()
                                  throws java.io.IOException
        Specified by:
        needsFillInterest in class AbstractEndPoint
        Throws:
        java.io.IOException
      • addInputEOF

        public void addInputEOF()
      • addInput

        public void addInput​(java.nio.ByteBuffer in)
        Parameters:
        in - The in to set.
      • addInput

        public void addInput​(java.lang.String s)
      • addInput

        public void addInput​(java.lang.String s,
                             java.nio.charset.Charset charset)
      • addInputAndExecute

        public void addInputAndExecute​(java.nio.ByteBuffer in)
      • getOutput

        public java.nio.ByteBuffer getOutput()
        Returns:
        Returns the out.
      • getOutputString

        public java.lang.String getOutputString()
        Returns:
        Returns the out.
      • getOutputString

        public java.lang.String getOutputString​(java.nio.charset.Charset charset)
        Parameters:
        charset - the charset to encode the output as
        Returns:
        Returns the out.
      • takeOutput

        public java.nio.ByteBuffer takeOutput()
        Returns:
        Returns the out.
      • waitForOutput

        public java.nio.ByteBuffer waitForOutput​(long time,
                                                 java.util.concurrent.TimeUnit unit)
                                          throws java.lang.InterruptedException
        Wait for some output
        Parameters:
        time - Time to wait
        unit - Units for time to wait
        Returns:
        The buffer of output
        Throws:
        java.lang.InterruptedException - if interrupted
      • takeOutputString

        public java.lang.String takeOutputString()
        Returns:
        Returns the out.
      • takeOutputString

        public java.lang.String takeOutputString​(java.nio.charset.Charset charset)
        Parameters:
        charset - the charset to encode the output as
        Returns:
        Returns the out.
      • setOutput

        public void setOutput​(java.nio.ByteBuffer out)
        Parameters:
        out - The out to set.
      • hasMore

        public boolean hasMore()
        Returns:
        true if there are bytes remaining to be read from the encoded input
      • fill

        public int fill​(java.nio.ByteBuffer buffer)
                 throws java.io.IOException
        Description copied from interface: EndPoint
        Fill the passed buffer with data from this endpoint. The bytes are appended to any data already in the buffer by writing from the buffers limit up to it's capacity. The limit is updated to include the filled bytes.
        Parameters:
        buffer - The buffer to fill. The position and limit are modified during the fill. After the operation, the position is unchanged and the limit is increased to reflect the new data filled.
        Returns:
        an int value indicating the number of bytes filled or -1 if EOF is read or the input is shutdown.
        Throws:
        java.io.IOException - if the endpoint is closed.
      • flush

        public boolean flush​(java.nio.ByteBuffer... buffers)
                      throws java.io.IOException
        Description copied from interface: EndPoint
        Flush data from the passed header/buffer to this endpoint. As many bytes as can be consumed are taken from the header/buffer position up until the buffer limit. The header/buffers position is updated to indicate how many bytes have been consumed.
        Parameters:
        buffers - the buffers to flush
        Returns:
        True IFF all the buffers have been consumed and the endpoint has flushed the data to its destination (ie is not buffering any data).
        Throws:
        java.io.IOException - If the endpoint is closed or output is shutdown.
      • getTransport

        public java.lang.Object getTransport()
        Returns:
        The underlying transport object (socket, channel, etc.)
      • isGrowOutput

        public boolean isGrowOutput()
        Returns:
        the growOutput
      • setGrowOutput

        public void setGrowOutput​(boolean growOutput)
        Parameters:
        growOutput - the growOutput to set