Interface Connection
- All Known Implementing Classes:
ConnectionImpl
public interface Connection
Connection layer of the SSH protocol. Refer to RFC 254.
-
Method Summary
Modifier and TypeMethodDescriptionvoidAttach aChannelto this connection.voidattach(ForwardedChannelOpener opener) Attach aForwardedChannelOpenerto this connection, which will be delegated opening of anyCHANNEL_OPENpacketsfor which it is responsible.voidForget an attachedChannel.voidforget(ForwardedChannelOpener opener) Forget an attachedForwardedChannelOpener.get(int id) intintlongvoidjoin()Wait for the situation that no channels are attached (e.g., got closed).intnextID()sendGlobalRequest(String name, boolean wantReply, byte[] specifics) Send an SSH global request.voidsendOpenFailure(int recipient, OpenFailException.Reason reason, String message) Send aSSH_MSG_OPEN_FAILUREfor specifiedReasonandmessage.voidsetMaxPacketSize(int maxPacketSize) Set the maximum packet size for the local window this connection recommends to anyChannel's that ask for it.voidsetTimeoutMs(int timeout) voidsetWindowSize(long windowSize) Set the size for the local window this connection recommends to anyChannel's that ask for it.
-
Method Details
-
attach
-
attach
Attach aForwardedChannelOpenerto this connection, which will be delegated opening of anyCHANNEL_OPENpacketsfor which it is responsible.- Parameters:
opener- an opener for forwarded channels
-
forget
-
forget
Forget an attachedForwardedChannelOpener.- Parameters:
opener- the opener to forget
-
get
-
join
Wait for the situation that no channels are attached (e.g., got closed).- Throws:
InterruptedException- if the thread is interrupted
-
get
- Parameters:
chanType- channel type- Returns:
- an attached
ForwardedChannelOpenerof specified channel-type, ornullif no such channel was attached
-
nextID
int nextID()- Returns:
- an available ID a
Channelcan rightfully claim.
-
sendGlobalRequest
Promise<SSHPacket, ConnectionException> sendGlobalRequest(String name, boolean wantReply, byte[] specifics) throws TransportException Send an SSH global request.- Parameters:
name- request namewantReply- whether a reply is requestedspecifics-SSHPacketcontaining fields specific to the request- Returns:
- a
Promisefor the reply data (in casewantReplyis true) which allows waiting on the reply, ornullif a reply is not requested. - Throws:
TransportException- if there is an error sending the request
-
sendOpenFailure
void sendOpenFailure(int recipient, OpenFailException.Reason reason, String message) throws TransportException Send aSSH_MSG_OPEN_FAILUREfor specifiedReasonandmessage.- Parameters:
recipient- number of the recipient channelreason- a reason for the failuremessage- an explanatory message- Throws:
TransportException- if there is a transport-layer error
-
getMaxPacketSize
int getMaxPacketSize()- Returns:
- the maximum packet size for the local window this connection recommends to any
Channel's that ask for it.
-
setMaxPacketSize
void setMaxPacketSize(int maxPacketSize) Set the maximum packet size for the local window this connection recommends to anyChannel's that ask for it.- Parameters:
maxPacketSize- maximum packet size in bytes
-
getWindowSize
long getWindowSize()- Returns:
- the size for the local window this connection recommends to any
Channel's that ask for it.
-
setWindowSize
void setWindowSize(long windowSize) Set the size for the local window this connection recommends to anyChannel's that ask for it.- Parameters:
windowSize- window size in bytes
-
getTransport
-
getTimeoutMs
-
setTimeoutMs
-
getKeepAlive
-