Package com.epam.common.transport
Class NIOSocketTransport
java.lang.Object
com.epam.common.transport.NIOSocketTransport
- All Implemented Interfaces:
NIOTransport,Transport
- Direct Known Subclasses:
NIOTCPTransport
Abstract socket implementation of transport.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected booleanprotected SelectionKeyprotected Selectorprotected intprotected intprotected Socketstatic final intprotected SocketChannelstatic final Stringprotected booleanprotected SelectionKeyprotected Selector -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedNIOSocketTransport(int sendBufferSize, int receiveBufferSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the transport.Getter for address value.Getter for address value.intGetter for local port value.intgetPort()Getter for port value.Getter for certificates from sessionGetter for cipher suite from sessionGetter for ssl protocol from sessionbooleanbooleanisOpen()Returnstrueif, transport is open.abstract voidopen()Open the transport.intread(byte[] buffer) Transport dependent read method.intread(byte[] buffer, int offset, int length) Transport dependent read method.final intread(ByteBuffer buffer) final intread(ByteBuffer buffer, int offset, int length) voidsetSessionConnectivityParams(Map<String, Object> connectivityParams) voidvoidwrite(byte[] message) Transport dependent write method.final intwrite(byte[] buffer, int offset, int length) Transport dependent write method.intwrite(ByteBuffer buffer) final intwrite(ByteBuffer buffer, int offset, int length)
-
Field Details
-
SOCKET_READ_SIZE
public static final int SOCKET_READ_SIZE- See Also:
-
BLOCKING_SOCKETS_FLAG
- See Also:
-
SPINNING_READ_FLAG
- See Also:
-
socket
-
sendBufferSize
protected int sendBufferSize -
receiveBufferSize
protected int receiveBufferSize -
readSelector
-
writeSelector
-
socketChannel
-
readSelectionKey
-
writeSelectionKey
-
isBlocking
protected boolean isBlocking -
useSpinningReadSelect
protected boolean useSpinningReadSelect
-
-
Constructor Details
-
NIOSocketTransport
protected NIOSocketTransport(int sendBufferSize, int receiveBufferSize)
-
-
Method Details
-
setSessionConnectivityParams
- Specified by:
setSessionConnectivityParamsin interfaceNIOTransport
-
isBlockingSocket
public boolean isBlockingSocket()- Specified by:
isBlockingSocketin interfaceTransport
-
write
- Specified by:
writein interfaceTransport- Throws:
IOException
-
waitUntilReadyToWrite
- Specified by:
waitUntilReadyToWritein interfaceTransport- Throws:
IOException
-
write
Description copied from interface:TransportTransport dependent write method.- Specified by:
writein interfaceTransport- Parameters:
buffer- actual messageoffset- the offset in bufferlength- the num of bytes to write- Throws:
IOException- if unable to write
-
write
- Specified by:
writein interfaceTransport- Throws:
IOException
-
read
- Specified by:
readin interfaceTransport- Throws:
IOException
-
read
- Specified by:
readin interfaceTransport- Throws:
IOException
-
read
Description copied from interface:TransportTransport dependent read method.- Specified by:
readin interfaceTransport- Parameters:
buffer- holder for read bytesoffset- in bufferlength- maximum bytes to be read- Returns:
- number of byte actually read
- Throws:
IOException- if unable to read- See Also:
-
read
Description copied from interface:TransportTransport dependent read method.- Specified by:
readin interfaceTransport- Parameters:
buffer- holder for read bytes- Returns:
- number of byte actually read
- Throws:
IOException- if unable to read- See Also:
-
write
Description copied from interface:TransportTransport dependent write method.- Specified by:
writein interfaceTransport- Parameters:
message- actual message- Throws:
IOException- if unable to write- See Also:
-
getAddress
Description copied from interface:TransportGetter for address value.- Specified by:
getAddressin interfaceTransport- See Also:
-
getInetAddress
Description copied from interface:TransportGetter for address value.- Specified by:
getInetAddressin interfaceTransport
-
getPort
public int getPort()Description copied from interface:TransportGetter for port value. -
getLocalPort
public int getLocalPort()Description copied from interface:TransportGetter for local port value.- Specified by:
getLocalPortin interfaceTransport
-
close
Description copied from interface:TransportClose the transport.- Specified by:
closein interfaceTransport- Throws:
IOException- - throws if error occurred- See Also:
-
open
Description copied from interface:TransportOpen the transport.- Specified by:
openin interfaceTransport- Throws:
IOException- - throws if error occurred- See Also:
-
isOpen
public boolean isOpen()Description copied from interface:TransportReturnstrueif, transport is open. -
getSSLProtocol
Description copied from interface:TransportGetter for ssl protocol from session- Specified by:
getSSLProtocolin interfaceTransport
-
getSSLCipherSuite
Description copied from interface:TransportGetter for cipher suite from session- Specified by:
getSSLCipherSuitein interfaceTransport
-
getSSLCertificates
Description copied from interface:TransportGetter for certificates from session- Specified by:
getSSLCertificatesin interfaceTransport
-