public class DTLSSession extends EngineDatagramSession
It uses SSLEngine
to handle the Datagram
Transport Layer Security protocol.
Constructor and Description |
---|
DTLSSession(IDatagramHandler handler,
boolean clientMode)
Constructs a DTLS session associated with a handler.
|
DTLSSession(SocketAddress remoteAddress,
IDatagramHandler handler,
boolean clientMode)
Constructs a DTLS session associated with a handler.
|
DTLSSession(String name,
IDatagramHandler handler,
boolean clientMode)
Constructs a named DTLS session associated with a handler.
|
DTLSSession(String name,
SocketAddress remoteAddress,
IDatagramHandler handler,
boolean clientMode)
Constructs a named DTLS session associated with a handler.
|
Modifier and Type | Method and Description |
---|---|
ByteBuffer |
allocate(int capacity)
Allocates a byte buffer by using the allocator associated with this session.
|
IFuture<Void> |
getCloseFuture()
Gets the future that can be use to wait for the completion of the closing
phase.
|
ICodecPipeline |
getCodecPipeline()
Gets the codec pipeline that is associated with this session.
|
ISessionConfig |
getConfig()
Gets the configuration of this session.
|
IFuture<Void> |
getCreateFuture()
Gets the future that can be use to wait for the completion of the
creation phase.
|
long |
getCreationTime()
Gets the session's creation time in milliseconds.
|
IFuture<Void> |
getEndFuture()
Gets the future that can be use to wait for the completion of the ending
phase.
|
SSLSession |
getEngineSession()
Returns the
SSLSession in use in the
SSLEngine driving this session. |
long |
getLastIoTime()
Gets the time in milliseconds when I/O operation occurred lastly.
|
long |
getLastReadTime()
Gets the time in milliseconds when read operation occurred lastly.
|
long |
getLastWriteTime()
Gets the time in milliseconds when write operation occurred lastly.
|
IFuture<Void> |
getOpenFuture()
Gets the future that can be use to wait for the completion of the opening
phase.
|
long |
getReadBytes()
Gets the total number of bytes which were read from this session.
|
double |
getReadBytesThroughput()
Gets the number of read bytes per second.
|
IFuture<Void> |
getReadyFuture()
Gets the future that can be use to wait for the completion of the ready
phase.
|
SessionState |
getState()
Gets the current state of this session.
|
ISessionTimer |
getTimer()
Gets the session timer associated with this session.
|
long |
getWrittenBytes()
Gets the total number of bytes which were written to this session.
|
double |
getWrittenBytesThroughput()
Gets the number of written bytes per second.
|
boolean |
isOpen()
Tells if this session is open.
|
boolean |
isReadSuspended()
Tells if read operations are suspended for this session.
|
boolean |
isWriteSuspended()
Tells if write operations are suspended for this session.
|
void |
release(ByteBuffer buffer)
Release given byte buffer by the allocator associated with this session.
|
void |
resumeRead()
Resumes read operations for this session.
|
void |
resumeWrite()
Resumes write operations for this session.
|
void |
suspendRead()
Suspends read operations for this session.
|
void |
suspendWrite()
Suspends write operations for this session.
|
beginHandshake, beginLazyHandshake, close, dirtyClose, getExecutor, getHandler, quickClose, send, send, send, send, send, sendnf, sendnf, sendnf, sendnf, sendnf, setExecutor, write, write, write, write, write, writenf, writenf, writenf, writenf, writenf
getLocalAddress, getParent, getRemoteAddress
getAttributes
getId, getName, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent
allocate, getAttributes, getCloseFuture, getCodecPipeline, getConfig, getCreateFuture, getCreationTime, getEndFuture, getId, getLastIoTime, getLastReadTime, getLastWriteTime, getLocalAddress, getName, getOpenFuture, getReadBytes, getReadBytesThroughput, getReadyFuture, getRemoteAddress, getState, getTimer, getWrittenBytes, getWrittenBytesThroughput, isOpen, isReadSuspended, isWriteSuspended, release, resumeRead, resumeWrite, suspendRead, suspendWrite
public DTLSSession(String name, SocketAddress remoteAddress, IDatagramHandler handler, boolean clientMode) throws SSLEngineCreateException
name
- the name for this session, or null
if the
handler's name should be used for this session's nameremoteAddress
- the address of the remote peerhandler
- the handler that should be associated with this sessionclientMode
- true
if the engine should start its
handshaking in "client" modeSSLEngineCreateException
- when the SSL engine could not be createdIllegalStateException
- if no timer was configured. The exception can
be ignored by setting the system property
IGNORE_NO_SESSION_TIMER_EXCEPTION
public DTLSSession(SocketAddress remoteAddress, IDatagramHandler handler, boolean clientMode) throws SSLEngineCreateException
remoteAddress
- the address of the remote peerhandler
- the handler that should be associated with this sessionclientMode
- true
if the engine should start its
handshaking in "client" modeSSLEngineCreateException
- when the SSL engine could not be createdIllegalStateException
- if no timer was configured. The exception can
be ignored by setting the system property
IGNORE_NO_SESSION_TIMER_EXCEPTION
public DTLSSession(String name, IDatagramHandler handler, boolean clientMode) throws SSLEngineCreateException
name
- the name for this session, or null
if the
handler's name should be used for this session's namehandler
- the handler that should be associated with this sessionclientMode
- true
if the engine should start its
handshaking in "client" modeSSLEngineCreateException
- when the SSL engine could not be createdIllegalStateException
- if no timer was configured. The exception can
be ignored by setting the system property
IGNORE_NO_SESSION_TIMER_EXCEPTION
public DTLSSession(IDatagramHandler handler, boolean clientMode) throws SSLEngineCreateException
handler
- the handler that should be associated with this sessionclientMode
- true
if the engine should start its
handshaking in "client" modeSSLEngineCreateException
- when the SSL engine could not be createdIllegalStateException
- if no timer was configured. The exception can
be ignored by setting the system property
IGNORE_NO_SESSION_TIMER_EXCEPTION
public SSLSession getEngineSession()
SSLSession
in use in the
SSLEngine
driving this session.getEngineSession
in interface IEngineSession
getEngineSession
in class EngineDatagramSession
SSLSession
public IFuture<Void> getCreateFuture()
ISession
getCreateFuture
in interface ISession
public IFuture<Void> getOpenFuture()
ISession
getOpenFuture
in interface ISession
public IFuture<Void> getReadyFuture()
ISession
getReadyFuture
in interface ISession
public IFuture<Void> getCloseFuture()
ISession
getCloseFuture
in interface ISession
public IFuture<Void> getEndFuture()
ISession
getEndFuture
in interface ISession
public ISessionConfig getConfig()
ISession
public ICodecPipeline getCodecPipeline()
ISession
getCodecPipeline
in interface ISession
null
if the session does not
support itpublic SessionState getState()
ISession
public boolean isOpen()
ISession
It is equal to:
return getState() == SessionState.OPEN
public void suspendRead()
ISession
suspendRead
in interface ISession
public void suspendWrite()
ISession
suspendWrite
in interface ISession
public void resumeRead()
ISession
resumeRead
in interface ISession
public void resumeWrite()
ISession
resumeWrite
in interface ISession
public boolean isReadSuspended()
ISession
isReadSuspended
in interface ISession
true
if suspendedpublic boolean isWriteSuspended()
ISession
isWriteSuspended
in interface ISession
true
if suspendedpublic final long getReadBytes()
ISession
getReadBytes
in interface ISession
public final long getWrittenBytes()
ISession
getWrittenBytes
in interface ISession
public final double getReadBytesThroughput()
ISession
getReadBytesThroughput
in interface ISession
public final double getWrittenBytesThroughput()
ISession
getWrittenBytesThroughput
in interface ISession
public final long getCreationTime()
ISession
getCreationTime
in interface ISession
public final long getLastIoTime()
ISession
getLastIoTime
in interface ISession
public final long getLastReadTime()
ISession
getLastReadTime
in interface ISession
public final long getLastWriteTime()
ISession
getLastWriteTime
in interface ISession
public ISessionTimer getTimer()
ISession
public ByteBuffer allocate(int capacity)
ISession
public void release(ByteBuffer buffer)
ISession
Copyright © 2017–2021 SNF4J.ORG. All rights reserved.