org.apache.http.nio.reactor
Interface SessionOutputBuffer

All Known Implementing Classes:
SessionOutputBufferImpl

public interface SessionOutputBuffer

Session output buffer for non-blocking connections. This interface facilitates intermediate buffering of output data streamed out to a destination channel and writing data to the buffer from a source, usually ByteBuffer or ReadableByteChannel. This interface also provides methods for writing lines of text.

Since:
4.0

Method Summary
 int flush(WritableByteChannel channel)
          Makes an attempt to flush the content of this buffer to the given destination WritableByteChannel.
 boolean hasData()
          Determines if the buffer contains data.
 int length()
          Returns the length of this buffer.
 void write(ByteBuffer src)
          Copies content of the source buffer into this buffer.
 void write(ReadableByteChannel src)
          Reads a sequence of bytes from the source channel into this buffer.
 void writeLine(CharArrayBuffer src)
          Copies content of the source buffer into this buffer as one line of text including a line delimiter.
 void writeLine(String s)
          Copies content of the given string into this buffer as one line of text including a line delimiter.
 

Method Detail

hasData

boolean hasData()
Determines if the buffer contains data.

Returns:
true if there is data in the buffer, false otherwise.

length

int length()
Returns the length of this buffer.

Returns:
buffer length.

flush

int flush(WritableByteChannel channel)
          throws IOException
Makes an attempt to flush the content of this buffer to the given destination WritableByteChannel.

Parameters:
channel - the destination channel.
Returns:
The number of bytes written, possibly zero.
Throws:
IOException - in case of an I/O error.

write

void write(ByteBuffer src)
Copies content of the source buffer into this buffer. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.

Parameters:
src - the source buffer.

write

void write(ReadableByteChannel src)
           throws IOException
Reads a sequence of bytes from the source channel into this buffer.

Parameters:
src - the source channel.
Throws:
IOException

writeLine

void writeLine(CharArrayBuffer src)
               throws CharacterCodingException
Copies content of the source buffer into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.

The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

Parameters:
src - the source buffer.
Throws:
CharacterCodingException

writeLine

void writeLine(String s)
               throws IOException
Copies content of the given string into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire string.

The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

Parameters:
s - the string.
Throws:
IOException


Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.