Package com.mongodb.connection
Interface Stream
- All Superinterfaces:
BufferProvider
A full duplex stream of bytes.
- Since:
- 3.0
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes the connection.The address that this stream is connected to.boolean
isClosed()
Returns the closed state of the connectionvoid
open()
Open the stream.void
openAsync
(AsyncCompletionHandler<Void> handler) Open the stream asynchronously.read
(int numBytes) Read from the stream, blocking until the requested number of bytes have been read.default ByteBuf
read
(int numBytes, int additionalTimeout) Read from the stream, blocking until the requested number of bytes have been read.void
readAsync
(int numBytes, AsyncCompletionHandler<ByteBuf> handler) Read from the stream, asynchronously.default boolean
Gets whether this implementation supports specifying an additional timeout for read operationsvoid
Write each buffer in the list to the stream in order, blocking until all are completely written.void
writeAsync
(List<ByteBuf> buffers, AsyncCompletionHandler<Void> handler) Write each buffer in the list to the stream in order, asynchronously.Methods inherited from interface com.mongodb.connection.BufferProvider
getBuffer
-
Method Details
-
open
Open the stream.- Throws:
IOException
- if an I/O error occurs
-
openAsync
Open the stream asynchronously.- Parameters:
handler
- the completion handler for opening the stream
-
write
Write each buffer in the list to the stream in order, blocking until all are completely written.- Parameters:
buffers
- the buffers to write- Throws:
IOException
- if there are problems writing to the stream
-
read
Read from the stream, blocking until the requested number of bytes have been read.- Parameters:
numBytes
- The number of bytes to read into the returned byte buffer- Returns:
- a byte buffer filled with number of bytes requested
- Throws:
IOException
- if there are problems reading from the stream
-
supportsAdditionalTimeout
default boolean supportsAdditionalTimeout()Gets whether this implementation supports specifying an additional timeout for read operationsThe default is to not support specifying an additional timeout
- Returns:
- true if this implementation supports specifying an additional timeouts for reads operations
- Since:
- 4.1
- See Also:
-
read
Read from the stream, blocking until the requested number of bytes have been read. If supported by the implementation, adds the given additional timeout to the configured timeout for the stream.This method should not be called unless
supportsAdditionalTimeout()
returns true.The default behavior is to throw an
UnsupportedOperationException
- Parameters:
numBytes
- The number of bytes to read into the returned byte bufferadditionalTimeout
- additional timeout in milliseconds to add to the configured timeout- Returns:
- a byte buffer filled with number of bytes requested
- Throws:
IOException
- if there are problems reading from the streamUnsupportedOperationException
- if this implementation does not support additional timeouts- Since:
- 4.1
- See Also:
-
writeAsync
Write each buffer in the list to the stream in order, asynchronously. This method should return immediately, and invoke the given callback on completion.- Parameters:
buffers
- the buffers to writehandler
- invoked when the write operation has completed
-
readAsync
Read from the stream, asynchronously. This method should return immediately, and invoke the given callback when the number of requested bytes have been read.- Parameters:
numBytes
- the number of byteshandler
- invoked when the read operation has completed
-
getAddress
ServerAddress getAddress()The address that this stream is connected to.- Returns:
- the address
-
close
void close()Closes the connection. -
isClosed
boolean isClosed()Returns the closed state of the connection- Returns:
- true if connection is closed
-