|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||

public interface IBlockingConnection
A connection which accesses the underlying channel in a non-blocking manner. Every read I/O operation will block until it completes. The blocking behavior of write operations will be controlled by the flush configuration.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.xsocket.connection.IConnection |
|---|
IConnection.FlushMode |
| Field Summary | |
|---|---|
static int |
DEFAULT_READ_TIMEOUT
|
static int |
DEFAULT_RECEIVE_TIMEOUT
Deprecated. replaced by DEFAULT_READ_TIMEOUT |
| Fields inherited from interface org.xsocket.connection.IConnection |
|---|
DEFAULT_AUTOFLUSH, DEFAULT_CONNECTION_TIMEOUT_MILLIS, DEFAULT_FLUSH_MODE, DEFAULT_IDLE_TIMEOUT_MILLIS, INITIAL_DEFAULT_ENCODING, MAX_TIMEOUT_MILLIS, SO_KEEPALIVE, SO_LINGER, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY |
| Method Summary | |
|---|---|
void |
activateSecuredMode()
ad hoc activation of a secured mode (SSL). |
void |
flush()
flush the send buffer. |
String |
getEncoding()
gets the encoding (used by string related methods like write(String) ...) |
IConnection.FlushMode |
getFlushmode()
return the flush mode |
int |
getMaxReadBufferThreshold()
get the max app read buffer size. |
int |
getPendingWriteDataSize()
returns the size of the data which have already been written, but not yet transferred to the underlying socket. |
int |
getReadTimeoutMillis()
get the timeout for calling read methods in millis |
int |
getReceiveTimeoutMillis()
Deprecated. replaced by {@link IBlockingConnection#setReadTimeoutMillis(int) |
boolean |
isAutoflush()
get autoflush |
boolean |
isReadSuspended()
Deprecated. replaced by isReceivingSuspended() |
boolean |
isReceivingSuspended()
returns true if receiving is suspended |
boolean |
isSecure()
returns if the connection is in secured mode |
void |
markReadPosition()
Marks the read position in the connection. |
void |
markWritePosition()
Marks the write position in the connection. |
ByteBuffer[] |
readByteBufferByDelimiter(String delimiter,
String encoding)
read a ByteBuffer by using a delimiter. |
ByteBuffer[] |
readByteBufferByDelimiter(String delimiter,
String encoding,
int maxLength)
read a ByteBuffer by using a delimiter For performance reasons, the ByteBuffer readByteBuffer method is generally preferable to get bytes |
byte[] |
readBytesByDelimiter(String delimiter,
String encoding)
read a byte array by using a delimiter For performance reasons, the ByteBuffer readByteBuffer method is generally preferable to get bytes |
byte[] |
readBytesByDelimiter(String delimiter,
String encoding,
int maxLength)
read a byte array by using a delimiter For performance reasons, the ByteBuffer readByteBuffer method is generally preferable to get bytes |
String |
readStringByDelimiter(String delimiter,
String encoding)
read a string by using a delimiter |
String |
readStringByDelimiter(String delimiter,
String encoding,
int maxLength)
read a string by using a delimiter |
String |
readStringByLength(int length,
String encoding)
read a string by using a length definition |
void |
removeReadMark()
remove the read mark |
void |
removeWriteMark()
remove the write mark |
boolean |
resetToReadMark()
Resets to the marked read position. |
boolean |
resetToWriteMark()
Resets to the marked write position. |
void |
resumeRead()
Deprecated. replaced by resumeReceiving() |
void |
resumeReceiving()
resume receiving data from the underlying subsystem |
void |
setAutoflush(boolean autoflush)
set autoflush. |
void |
setEncoding(String encoding)
sets the encoding (used by string related methods like write(String) ...) |
void |
setFlushmode(IConnection.FlushMode flushMode)
set the flush mode By setting the flush mode with ASYNC (default is SYNC) the data will be transferred to the underlying connection in a asynchronous way. |
void |
setMaxReadBufferThreshold(int size)
set the max app read buffer threshold |
void |
setReadTimeoutMillis(int timeout)
set the timeout for calling read methods in millis |
void |
setReceiveTimeoutMillis(int timeout)
Deprecated. replaced by setReadTimeoutMillis(int) |
void |
suspendRead()
Deprecated. replaced py suspendReceiving() |
void |
suspendReceiving()
suspend receiving data from the underlying subsystem |
long |
transferFrom(FileChannel source)
transfer the data of the file channel to this data sink |
int |
write(String message,
String encoding)
write a message |
| Methods inherited from interface org.xsocket.connection.IConnection |
|---|
getAttachment, getConnectionTimeoutMillis, getId, getIdleTimeoutMillis, getLocalAddress, getLocalPort, getOption, getOptions, getRemainingMillisToConnectionTimeout, getRemainingMillisToIdleTimeout, getRemoteAddress, getRemotePort, isOpen, setAttachment, setConnectionTimeoutMillis, setIdleTimeoutMillis, setOption |
| Methods inherited from interface org.xsocket.IDataSource |
|---|
read, readByte, readByteBufferByDelimiter, readByteBufferByDelimiter, readByteBufferByLength, readBytesByDelimiter, readBytesByDelimiter, readBytesByLength, readDouble, readInt, readLong, readShort, readStringByDelimiter, readStringByDelimiter, readStringByLength, transferTo |
| Methods inherited from interface org.xsocket.IDataSink |
|---|
transferFrom, transferFrom, write, write, write, write, write, write, write, write, write, write, write, write |
| Methods inherited from interface java.nio.channels.GatheringByteChannel |
|---|
write, write |
| Methods inherited from interface java.nio.channels.WritableByteChannel |
|---|
write |
| Methods inherited from interface java.nio.channels.Channel |
|---|
isOpen |
| Methods inherited from interface java.nio.channels.ReadableByteChannel |
|---|
read |
| Field Detail |
|---|
static final int DEFAULT_READ_TIMEOUT
static final int DEFAULT_RECEIVE_TIMEOUT
DEFAULT_READ_TIMEOUT| Method Detail |
|---|
void setAutoflush(boolean autoflush)
autoflush - true if autoflush should be activatedboolean isAutoflush()
void flush()
throws ClosedChannelException,
IOException,
SocketTimeoutException
flush in interface FlushableIOException - If some other I/O error occurs
SocketTimeoutException - If the timeout has been reached
ClosedChannelException - if the underlying channel is closedvoid setFlushmode(IConnection.FlushMode flushMode)
flushMode - FlushMode#ASYNC if flush should be performed asynchronous,
FlushMode#SYNC if flush should be perform synchronousIConnection.FlushMode getFlushmode()
void activateSecuredMode()
throws IOException
IOException - If some other I/O error occursboolean isSecure()
int getPendingWriteDataSize()
void setReadTimeoutMillis(int timeout)
throws IOException
timeout - the timeout in millis
IOException - If some other I/O error occurs
int getReadTimeoutMillis()
throws IOException
IOException - If some other I/O error occurs
void setReceiveTimeoutMillis(int timeout)
throws IOException
setReadTimeoutMillis(int)
IOException
int getReceiveTimeoutMillis()
throws IOException
IOException
void suspendRead()
throws IOException
suspendReceiving()
IOException
void suspendReceiving()
throws IOException
IOException - If some other I/O error occurs
void resumeReceiving()
throws IOException
IOException - If some other I/O error occurs
void resumeRead()
throws IOException
resumeReceiving()
IOExceptionboolean isReadSuspended()
isReceivingSuspended()
boolean isReceivingSuspended()
boolean resetToWriteMark()
boolean resetToReadMark()
void markWritePosition()
void markReadPosition()
void removeReadMark()
void removeWriteMark()
String getEncoding()
void setEncoding(String encoding)
encoding - the encoding
int write(String message,
String encoding)
throws IOException,
BufferOverflowException
message - the message to writeencoding - the encoding which should be used th encode the chars into byte (e.g. `US-ASCII` or `UTF-8`)
BufferOverflowException - If the no enough space is available
IOException - If some other I/O error occurs
ByteBuffer[] readByteBufferByDelimiter(String delimiter,
String encoding)
throws IOException,
BufferUnderflowException,
SocketTimeoutException
delimiter - the delimiterencoding - the encoding to use
BufferUnderflowException - If not enough data is available
IOException - If some other I/O error occurs
SocketTimeoutException
ByteBuffer[] readByteBufferByDelimiter(String delimiter,
String encoding,
int maxLength)
throws IOException,
BufferUnderflowException,
MaxReadSizeExceededException,
SocketTimeoutException
delimiter - the delimiterencoding - the encoding of the delimitermaxLength - the max length of bytes that should be read. If the limit is exceeded a MaxReadSizeExceededException will been thrown
BufferUnderflowException - If not enough data is available
MaxReadSizeExceededException - If the max read length has been exceeded and the delimiter hasn’t been found
IOException - If some other I/O error occurs
SocketTimeoutException
byte[] readBytesByDelimiter(String delimiter,
String encoding)
throws IOException,
BufferUnderflowException
delimiter - the delimiterencoding - the encoding to use
BufferUnderflowException - If not enough data is available
IOException - If some other I/O error occurs
byte[] readBytesByDelimiter(String delimiter,
String encoding,
int maxLength)
throws IOException,
BufferUnderflowException,
MaxReadSizeExceededException,
SocketTimeoutException
delimiter - the delimiterencoding - the encoding to usemaxLength - the max length of bytes that should be read. If the limit is exceeded a MaxReadSizeExceededException will been thrown
BufferUnderflowException - If not enough data is available
MaxReadSizeExceededException - If the max read length has been exceeded and the delimiter hasn’t been found
IOException - If some other I/O error occurs
SocketTimeoutException
String readStringByDelimiter(String delimiter,
String encoding)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException,
MaxReadSizeExceededException,
SocketTimeoutException
delimiter - the delimiterencoding - the encoding to use
MaxReadSizeExceededException - If the max read length has been exceeded and the delimiter hasn’t been found
IOException - If some other I/O error occurs
BufferUnderflowException - If not enough data is available
UnsupportedEncodingException - if the given encoding is not supported
SocketTimeoutException
String readStringByDelimiter(String delimiter,
String encoding,
int maxLength)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException,
MaxReadSizeExceededException,
SocketTimeoutException
delimiter - the delimiterencoding - the encoding to usemaxLength - the max length of bytes that should be read. If the limit is exceeded a MaxReadSizeExceededException will been thrown
BufferUnderflowException - If not enough data is available
MaxReadSizeExceededException - If the max read length has been exceeded and the delimiter hasn’t been found * @throws ClosedConnectionException If the underlying socket is already closed
IOException - If some other I/O error occurs
UnsupportedEncodingException - If the given encoding is not supported
SocketTimeoutException
String readStringByLength(int length,
String encoding)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException,
SocketTimeoutException
length - the amount of bytes to read.encoding - the encoding to use
IOException - If some other I/O error occurs
BufferUnderflowException - If not enough data is available
UnsupportedEncodingException - if the given encoding is not supported
IllegalArgumentException, - if the length parameter is negative
SocketTimeoutException
long transferFrom(FileChannel source)
throws IOException,
BufferOverflowException
transferFrom in interface IDataSinksource - the source channel
BufferOverflowException - If the no enough space is available
IOException - If some other I/O error occursint getMaxReadBufferThreshold()
void setMaxReadBufferThreshold(int size)
maxSize - the max read buffer threshold
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||