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

public interface INonBlockingConnection
A connection which accesses the underlying channel in a non-blocking manner.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.xsocket.connection.IConnection |
|---|
IConnection.FlushMode |
| Field Summary | |
|---|---|
static int |
UNLIMITED
|
| 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). |
int |
available()
get the number of available bytes to read |
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 |
IHandler |
getHandler()
gets the connection handler |
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 |
getReadBufferVersion()
get the version of read buffer. |
Executor |
getWorkerpool()
return the worker pool which is used to process the call back methods |
int |
getWriteTransferRate()
gets the send delay time. |
int |
indexOf(String str)
Returns the index of the first occurrence of the given string. |
int |
indexOf(String str,
String encoding)
Returns the index of the first occurrence of the given string. |
boolean |
isAutoflush()
get autoflush |
boolean |
isOpen()
return if the data source is open. |
boolean |
isReadSuspended()
Deprecated. replaced by isReceivingSuspended() |
boolean |
isReceivingSuspended()
returns true if receiving is suspended |
boolean |
isSecure()
returns if the connection is in secured mode |
boolean |
isSecuredModeActivateable()
returns if secured mode is activateable |
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 |
setHandler(IHandler handler)
set the connection handler. |
void |
setMaxReadBufferThreshold(int size)
set the max app read buffer threshold |
void |
setWorkerpool(Executor workerpool)
sets the worker pool which is used to process the call back methods |
void |
setWriteTransferRate(int bytesPerSecond)
set the send delay time. |
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, 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.ReadableByteChannel |
|---|
read |
| Field Detail |
|---|
static final int UNLIMITED
| Method Detail |
|---|
void setHandler(IHandler handler)
throws IOException
handler - the handler
IOException - If some other I/O error occursIHandler getHandler()
String getEncoding()
void setEncoding(String encoding)
encoding - the encodingvoid 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()
boolean isSecuredModeActivateable()
void activateSecuredMode()
throws IOException
IOException - If some other I/O error occursboolean isSecure()
int getPendingWriteDataSize()
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()
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
delimiter - the delimiterencoding - the encoding to use
BufferUnderflowException - If not enough data is available
IOException - If some other I/O error occurs
ByteBuffer[] readByteBufferByDelimiter(String delimiter,
String encoding,
int maxLength)
throws IOException,
BufferUnderflowException,
MaxReadSizeExceededException
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
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
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
String readStringByDelimiter(String delimiter,
String encoding)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException,
MaxReadSizeExceededException
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
String readStringByDelimiter(String delimiter,
String encoding,
int maxLength)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException,
MaxReadSizeExceededException
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
UnsupportedEncodingException - If the given encoding is not supported
String readStringByLength(int length,
String encoding)
throws IOException,
BufferUnderflowException,
UnsupportedEncodingException
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
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 occurs
int indexOf(String str)
throws IOException
str - any string
IOException - If some other I/O error occurs
int indexOf(String str,
String encoding)
throws IOException
str - any stringencoding - the encoding to use
IOException - If some other I/O error occurs
MaxReadSizeExceededException - If the max read length has been exceeded and the delimiter hasn’t been found
void setWriteTransferRate(int bytesPerSecond)
throws ClosedChannelException,
IOException
INonBlockingConnection#setFlushmode(org.xsocket.connection.IConnection.FlushMode))
bytesPerSecond - the transfer rate of the outgoing data
ClosedChannelException - If the underlying socket is already closed
IOException - If some other I/O error occurs
int getWriteTransferRate()
throws ClosedChannelException,
IOException
ClosedChannelException - If the underlying socket is already closed
IOException - If some other I/O error occurs
int available()
throws IOException
IOException
int getReadBufferVersion()
throws IOException
IOException - If some other I/O error occursboolean isOpen()
isOpen in interface ChannelisOpen in interface IConnectionExecutor getWorkerpool()
void setWorkerpool(Executor workerpool)
workerpool - the workerpoolboolean resetToWriteMark()
boolean resetToReadMark()
void markWritePosition()
void markReadPosition()
void removeReadMark()
void removeWriteMark()
int 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 | |||||||||