class SocketStream extends java.lang.Object implements Stream
Modifier and Type | Field and Description |
---|---|
private ServerAddress |
address |
private BufferProvider |
bufferProvider |
private java.io.InputStream |
inputStream |
private boolean |
isClosed |
private java.io.OutputStream |
outputStream |
private SocketSettings |
settings |
private java.net.Socket |
socket |
private javax.net.SocketFactory |
socketFactory |
private SslSettings |
sslSettings |
Constructor and Description |
---|
SocketStream(ServerAddress address,
SocketSettings settings,
SslSettings sslSettings,
javax.net.SocketFactory socketFactory,
BufferProvider bufferProvider) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the connection.
|
ServerAddress |
getAddress()
The address that this stream is connected to.
|
ByteBuf |
getBuffer(int size)
Gets a buffer with the givens capacity.
|
(package private) SocketSettings |
getSettings()
Get the settings for this socket.
|
boolean |
isClosed()
Returns the closed state of the connection
|
void |
open()
Open the stream.
|
void |
openAsync(AsyncCompletionHandler<java.lang.Void> handler)
Open the stream asynchronously.
|
ByteBuf |
read(int numBytes)
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.
|
void |
write(java.util.List<ByteBuf> buffers)
Write each buffer in the list to the stream in order, blocking until all are completely written.
|
void |
writeAsync(java.util.List<ByteBuf> buffers,
AsyncCompletionHandler<java.lang.Void> handler)
Write each buffer in the list to the stream in order, asynchronously.
|
private final ServerAddress address
private final SocketSettings settings
private final SslSettings sslSettings
private final javax.net.SocketFactory socketFactory
private final BufferProvider bufferProvider
private volatile java.net.Socket socket
private volatile java.io.OutputStream outputStream
private volatile java.io.InputStream inputStream
private volatile boolean isClosed
public SocketStream(ServerAddress address, SocketSettings settings, SslSettings sslSettings, javax.net.SocketFactory socketFactory, BufferProvider bufferProvider)
public void open() throws java.io.IOException
Stream
public ByteBuf getBuffer(int size)
BufferProvider
getBuffer
in interface BufferProvider
size
- the size required for the bufferpublic void write(java.util.List<ByteBuf> buffers) throws java.io.IOException
Stream
public ByteBuf read(int numBytes) throws java.io.IOException
Stream
public void openAsync(AsyncCompletionHandler<java.lang.Void> handler)
Stream
public void writeAsync(java.util.List<ByteBuf> buffers, AsyncCompletionHandler<java.lang.Void> handler)
Stream
writeAsync
in interface Stream
buffers
- the buffers to writehandler
- invoked when the read operation has completedpublic void readAsync(int numBytes, AsyncCompletionHandler<ByteBuf> handler)
Stream
public ServerAddress getAddress()
Stream
getAddress
in interface Stream
SocketSettings getSettings()
public void close()
Stream