public interface Session extends Closeable
Modifier and Type | Interface and Description |
---|---|
static class |
Session.AttributeKey<T>
Type safe key for storage within the user attributes of
AbstractSession . |
static class |
Session.TimeoutStatus
Timeout status.
|
Modifier and Type | Method and Description |
---|---|
void |
addListener(SessionListener listener)
Add a session |listener|.
|
Buffer |
createBuffer(byte cmd)
Create a new buffer for the specified SSH packet and reserve the needed space
(5 bytes) for the packet header.
|
Buffer |
createBuffer(byte cmd,
int estimatedSize)
Create a new buffer for the specified SSH packet and reserve the needed space
(5 bytes) for the packet header.
|
void |
exceptionCaught(Throwable t)
Handle any exceptions that occured on this session.
|
<T> T |
getAttribute(Session.AttributeKey<T> key)
Returns the value of the user-defined attribute of this session.
|
long |
getAuthTimeout()
What is timeout value in milliseconds for authentication stage
|
String |
getClientVersion()
Retrieve the client version for this session.
|
FactoryManager |
getFactoryManager()
Retrieve the FactoryManager that has created this session
|
long |
getIdleTimeout()
What is timeout value in milliseconds for communication
|
int |
getIntProperty(String name,
int defaultValue)
Retrieve a configuration property as an integer
|
IoSession |
getIoSession()
Returns the IoSession associated to this ssh session
|
String |
getNegotiatedKexParameter(int paramType)
Retrieve one of the negotiated values during the KEX stage
|
String |
getServerVersion()
Retrieve the server version for this session.
|
<T extends Service> |
getService(Class<T> clazz)
Get the service of the specified type.
|
Session.TimeoutStatus |
getTimeoutStatus()
Check if timeout has occurred.
|
String |
getUsername()
Retrieve the name of the user authenticated on this session
or null if the session has not been authenticated yet.
|
SshFuture |
reExchangeKeys()
Initiate a new key exchange.
|
void |
removeListener(SessionListener listener)
Remove a session |listener|.
|
Buffer |
request(Buffer buffer)
Send a global request and wait for the response.
|
void |
resetIdleTimeout() |
<T,E extends T> |
setAttribute(Session.AttributeKey<T> key,
E value)
Sets a user-defined attribute.
|
IoWriteFuture |
writePacket(Buffer buffer)
Encode and send the given buffer.
|
IoWriteFuture |
writePacket(Buffer buffer,
long timeout,
TimeUnit unit)
Encode and send the given buffer with the specified timeout.
|
<T> T getAttribute(Session.AttributeKey<T> key)
key
- the key of the attribute; must not be null.<T,E extends T> T setAttribute(Session.AttributeKey<T> key, E value)
key
- the key of the attribute; must not be null.value
- the value of the attribute; must not be null.String getUsername()
String getClientVersion()
String getServerVersion()
FactoryManager getFactoryManager()
String getNegotiatedKexParameter(int paramType)
paramType
- The parameter type index - one of the SSHConstants
PROPOSAL_XXX
valuesnull
if invalid
parameter index or no negotiated valueint getIntProperty(String name, int defaultValue)
name
- the name of the propertydefaultValue
- the default valueBuffer createBuffer(byte cmd)
cmd
- the SSH commandBuffer createBuffer(byte cmd, int estimatedSize)
cmd
- the SSH commandestimatedSize
- estimated number of bytes the buffer will hold, 0 if unknown.IoWriteFuture writePacket(Buffer buffer) throws IOException
buffer
- the buffer to encode and sendIOException
- if an error occurred when encoding sending the packetIoWriteFuture writePacket(Buffer buffer, long timeout, TimeUnit unit) throws IOException
IoWriteFuture
will be set with a
TimeoutException
exception to indicate a timeout.buffer
- the buffer to encode and spendtimeout
- the timeoutunit
- the time unit of the timeout parameterIOException
- if an error occurred when encoding sending the packetBuffer request(Buffer buffer) throws IOException
buffer
- the buffer containing the global requestnull
otherwise.IOException
- if an error occurred when encoding sending the packetvoid exceptionCaught(Throwable t)
SshException
.t
- the exception to processvoid addListener(SessionListener listener)
listener
- the session listener to addvoid removeListener(SessionListener listener)
listener
- the session listener to removeSshFuture reExchangeKeys() throws IOException
IOException
<T extends Service> T getService(Class<T> clazz)
IllegalStateException
IoSession getIoSession()
void resetIdleTimeout()
Session.TimeoutStatus getTimeoutStatus()
null
long getAuthTimeout()
long getIdleTimeout()
Copyright © 2008–2016 The Apache Software Foundation. All rights reserved.