|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.officefloor.plugin.stream.synchronise.SynchronizedBufferStream
public class SynchronizedBufferStream
Synchronized BufferStream.
| Field Summary |
|---|
| Fields inherited from interface net.officefloor.plugin.stream.BufferStream |
|---|
END_OF_STREAM |
| Constructor Summary | |
|---|---|
SynchronizedBufferStream(BufferStream backingStream,
Object mutex)
Initiate. |
|
| Method Summary | |
|---|---|
void |
append(BufferSquirt squirt)
Appends the BufferSquirt to the BufferStream. |
void |
append(ByteBuffer buffer)
Appends the ByteBuffer to the BufferStream. |
long |
available()
Provides an accurate number of bytes available in the BufferStream. |
void |
closeInput()
Closes the input to the BufferStream and releases the resources. |
void |
closeOutput()
Closes the output to the BufferStream and releases the resources. |
InputStream |
getBrowseStream()
Obtains an InputStream that allows browsing the contents of the
BufferStream without changing the BufferStream markers. |
InputBufferStream |
getInputBufferStream()
Obtains the InputBufferStream for this BufferStream. |
OutputBufferStream |
getOutputBufferStream()
Obtains the OutputBufferStream for this BufferStream. |
int |
read(BufferProcessor processor)
Reads and processes the contents of a ByteBuffer from the
BufferStream. |
int |
read(byte[] readBuffer)
Reads the content from the BufferStream into the input buffer
returning the number of bytes loaded. |
int |
read(byte[] readBuffer,
int offset,
int length)
Reads the content from the BufferStream into the input buffer
returning the number of bytes loaded. |
int |
read(int numberOfBytes,
GatheringBufferProcessor processor)
Processes a batch number of ByteBuffer instances so that the
available data in the ByteBuffer instances is greater than or
equal to the number of bytes specified. |
int |
read(int numberOfBytes,
OutputBufferStream outputBufferStream)
Reads data from this BufferStream to the
OutputBufferStream. |
long |
skip(long numberOfBytes)
Skips the input number of bytes in the BufferStream. |
void |
write(BufferPopulator populator)
Writes content to a ByteBuffer of the BufferStream. |
void |
write(byte[] bytes)
Writes the bytes to the BufferStream. |
void |
write(byte[] bytes,
int offset,
int length)
Writes the bytes to the BufferStream. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SynchronizedBufferStream(BufferStream backingStream,
Object mutex)
backingStream - Backing BufferStream.mutex - Mutex to synchronise on.| Method Detail |
|---|
public OutputBufferStream getOutputBufferStream()
BufferStreamOutputBufferStream for this BufferStream.
getOutputBufferStream in interface BufferStreamOutputBufferStream.
public void write(byte[] bytes)
throws IOException
BufferStreamBufferStream.
write in interface BufferStreambytes - Bytes to be written to the BufferStream.
IOException - If fails to write the bytes.
public void write(byte[] bytes,
int offset,
int length)
throws IOException
BufferStreamBufferStream.
write in interface BufferStreambytes - Bytes to be written to the BufferStream.offset - Offset into the bytes to start obtain bytes to write.length - Number of bytes to write.
IOException - If fails to write the bytes.
public void write(BufferPopulator populator)
throws IOException
BufferStreamByteBuffer of the BufferStream.
write in interface BufferStreampopulator - BufferPopulator to write data to the
ByteBuffer.
IOException - If fails to write data to ByteBuffer.
public void append(ByteBuffer buffer)
throws IOException
BufferStream
Appends the ByteBuffer to the BufferStream.
The ByteBuffer is used directly by the BufferStream and
must not be changed until the BufferStream is no longer being
used. This should only be used when the ByteBuffer never changes
(contains static information).
Use BufferStream.append(BufferSquirt) over this method to know when the
ByteBuffer can be modified again.
append in interface BufferStreambuffer - ByteBuffer ready to be read from.
IOException - If fails to append to the BufferStream.
public void append(BufferSquirt squirt)
throws IOException
BufferStream
Appends the BufferSquirt to the BufferStream.
BufferSquirt.close() is invoked when the BufferStream no
longer requires the BufferSquirt.
append in interface BufferStreamsquirt - BufferSquirt to append to the BufferStream.
IOException - If fails to append to the BufferStream.public void closeOutput()
BufferStream
Closes the output to the BufferStream and releases the resources.
Further output will result in an IOException.
closeOutput in interface BufferStreampublic InputBufferStream getInputBufferStream()
BufferStreamInputBufferStream for this BufferStream.
getInputBufferStream in interface BufferStreamInputBufferStream.public InputStream getBrowseStream()
BufferStream
Obtains an InputStream that allows browsing the contents of the
BufferStream without changing the BufferStream markers.
Once the available data has been browsed, further reads will return
BufferStream.END_OF_STREAM indicating end of stream of available
data.
getBrowseStream in interface BufferStreamInputStream to browse the BufferStream.
public int read(byte[] readBuffer)
throws IOException
BufferStreamBufferStream into the input buffer
returning the number of bytes loaded.
read in interface BufferStreamreadBuffer - Buffer to be loaded with the BufferStream content.
BufferStream. Return of BufferStream.END_OF_STREAM indicates
end of stream with no bytes loaded to buffer.
IOException - If failure to read input. Typically this will be because the
input is closed.
public int read(byte[] readBuffer,
int offset,
int length)
throws IOException
BufferStreamBufferStream into the input buffer
returning the number of bytes loaded.
read in interface BufferStreamreadBuffer - Buffer to load BufferStream content.offset - Offset of the input read buffer to start loading data from the
BufferStream.length - Maximum number of bytes to be loaded.
BufferStream. Return of
BufferStream.END_OF_STREAM indicates end of stream with
no bytes loaded to buffer.
IOException - If fails to read input. Typically this will be because the
input is closed.
public int read(BufferProcessor processor)
throws IOException
BufferStreamByteBuffer from the
BufferStream.
read in interface BufferStreamprocessor - BufferProcessor to process the data of the
ByteBuffer.
ByteBuffer provided to the
BufferProcessor to process. Return of
BufferStream.END_OF_STREAM indicates end of stream with the
BufferProcessor not invoked.
IOException - If fails to read input. Typically this will be because the
input is closed.
public int read(int numberOfBytes,
GatheringBufferProcessor processor)
throws IOException
BufferStream
Processes a batch number of ByteBuffer instances so that the
available data in the ByteBuffer instances is greater than or
equal to the number of bytes specified.
Should the number of bytes be greater than the available, all
ByteBuffer instances are provided to the
GatheringBufferProcessor. In this case the provided data will be
less than the number of bytes specified.
Typically this will be used by gather operations such as with the
GatheringByteChannel and SSLEngine.
read in interface BufferStreamnumberOfBytes - Number of bytes to be processed from this
InputBufferStream.processor - GatheringBufferProcessor.
GatheringBufferProcessor.
IOException - If fails to read input. Typically this will be because the
input is closed.
public int read(int numberOfBytes,
OutputBufferStream outputBufferStream)
throws IOException
BufferStream
Reads data from this BufferStream to the
OutputBufferStream.
Only available bytes are read to the OutputBufferStream and
therefore the request number of bytes may not be read. The return
provides the number of bytes read.
read in interface BufferStreamnumberOfBytes - Number of bytes to read into the OutputBufferStream.outputBufferStream - OutputBufferStream to receive the data.
OutputBufferStream.
Return of BufferStream.END_OF_STREAM indicates end of
stream.
IOException - If fails to read input. Typically this will be because the
input is closed.
public long skip(long numberOfBytes)
throws IOException
BufferStreamBufferStream. As there may
not be the available bytes to skip in the BufferStream, this
method returns the actual number of bytes skipped from the available
bytes.
skip in interface BufferStreamnumberOfBytes - Maximum number of bytes to skip.
BufferStream.
Return of BufferStream.END_OF_STREAM indicates end of
stream with no bytes skipped.
IOException - If fails to skip the bytes. Typically this will be because
the input is closed.public long available()
BufferStreamBufferStream.
available in interface BufferStreamBufferStream. Return of
BufferStream.END_OF_STREAM indicates end of stream.public void closeInput()
BufferStream
Closes the input to the BufferStream and releases the resources.
Further output will be ignored.
closeInput in interface BufferStream
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||