Interface AsyncChannelWrapper
- All Known Implementing Classes:
AsyncChannelWrapperNonSecure, AsyncChannelWrapperSecure
public interface AsyncChannelWrapper
This is a wrapper for a
AsynchronousSocketChannel that limits the methods available thereby
simplifying the process of implementing SSL/TLS support since there are fewer methods to intercept.-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the underlying channel.Returns the local address to which the channel is bound.Performs the SSL/TLS handshake.read(ByteBuffer dst) Reads data from the channel into the given buffer.<B, A extends B>
voidread(ByteBuffer dst, A attachment, CompletionHandler<Integer, B> handler) Reads data from the channel into the given buffer with a completion handler.write(ByteBuffer src) Writes data from the given buffer to the channel.<B, A extends B>
voidwrite(ByteBuffer[] srcs, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long, B> handler) Writes data from the given buffers to the channel with a completion handler.
-
Method Details
-
read
Reads data from the channel into the given buffer.- Parameters:
dst- the buffer into which data is to be read- Returns:
- a Future holding the number of bytes read
-
read
Reads data from the channel into the given buffer with a completion handler.- Type Parameters:
B- the attachment typeA- the attachment subtype- Parameters:
dst- the buffer into which data is to be readattachment- the object to attach to the taskhandler- the handler to use on completion
-
write
Writes data from the given buffer to the channel.- Parameters:
src- the buffer from which data is to be written- Returns:
- a Future holding the number of bytes written
-
write
<B, A extends B> void write(ByteBuffer[] srcs, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long, B> handler) Writes data from the given buffers to the channel with a completion handler.- Type Parameters:
B- the attachment typeA- the attachment subtype- Parameters:
srcs- the buffers from which data is to be writtenoffset- the offset within the buffer arraylength- the number of buffers to writetimeout- the maximum time to waitunit- the time unit of the timeoutattachment- the object to attach to the taskhandler- the handler to use on completion
-
close
void close()Closes the underlying channel. -
handshake
Performs the SSL/TLS handshake.- Returns:
- a Future that completes when the handshake is finished
- Throws:
SSLException- if an SSL error occurs
-
getLocalAddress
Returns the local address to which the channel is bound.- Returns:
- the local socket address, or null if not bound
- Throws:
IOException- if an I/O error occurs
-