Class ChannelToPortHandler
java.lang.Object
org.apache.sshd.common.util.logging.AbstractLoggingBean
org.apache.sshd.common.forward.ChannelToPortHandler
Implements forwarding messages received from a channel to a port in TCP/IP port forwarding.
-
Field Summary
FieldsFields inherited from class AbstractLoggingBean
log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckWindow(byte cmd, long len) Retrieves theIoSessionfor the port connection.voidPerform appropriate actions on the port session when the channel received an SSH_MSG_CHANNEL_EOF message.protected voidhandleWriteDataFailure(byte cmd, byte[] data, int off, int len, Throwable t) protected voidhandleWriteDataSuccess(byte cmd, byte[] data, int off, int len) voidsendToPort(byte cmd, byte[] data, int off, long len) Forwards data received on the SSH channel to the port and adjust the channel window once the data has been written.sendToPort(Buffer buffer) Write data to the port directly without adjusting the channel window.
-
Field Details
-
port
-
channel
-
-
Constructor Details
-
ChannelToPortHandler
-
-
Method Details
-
getPortSession
-
handleEof
Perform appropriate actions on the port session when the channel received an SSH_MSG_CHANNEL_EOF message.- Throws:
IOException
-
sendToPort
Write data to the port directly without adjusting the channel window.- Parameters:
buffer- data to write to the port- Returns:
- an
IoWriteFuturefulfilled once the data has been written - Throws:
IOException- if an error occurs
-
sendToPort
Forwards data received on the SSH channel to the port and adjust the channel window once the data has been written.- Parameters:
cmd- the SSH command, typically @link SshConstants#SSH_MSG_CHANNEL_DATA}, used for logging onlydata- to forwardoff- offset indataof the start of the data to forwardlen- number of bytes to forward- Throws:
IOException- if an error occurs
-
handleWriteDataSuccess
protected void handleWriteDataSuccess(byte cmd, byte[] data, int off, int len) -
handleWriteDataFailure
-
checkWindow
private void checkWindow(byte cmd, long len)
-