Package com.trilead.ssh2.channel
Class ChannelManager
- java.lang.Object
-
- com.trilead.ssh2.channel.ChannelManager
-
- All Implemented Interfaces:
MessageHandler
public class ChannelManager extends java.lang.Object implements MessageHandler
ChannelManager. Please read the comments in Channel.java.Besides the crypto part, this is the core of the library.
-
-
Constructor Summary
Constructors Constructor Description ChannelManager(TransportManager tm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description X11ServerData
checkX11Cookie(java.lang.String hexFakeCookie)
void
closeAllChannels()
void
closeChannel(Channel c, java.lang.String reason, boolean force)
int
getAvailable(Channel c, boolean extended)
int
getChannelData(Channel c, boolean extended, byte[] target, int off, int len)
void
handleMessage(byte[] msg, int msglen)
void
msgChannelClose(byte[] msg, int msglen)
void
msgChannelData(byte[] msg, int msglen)
void
msgChannelEOF(byte[] msg, int msglen)
void
msgChannelExtendedData(byte[] msg, int msglen)
void
msgChannelFailure(byte[] msg, int msglen)
void
msgChannelOpen(byte[] msg, int msglen)
void
msgChannelOpenConfirmation(byte[] msg, int msglen)
void
msgChannelOpenFailure(byte[] msg, int msglen)
void
msgChannelRequest(byte[] msg, int msglen)
void
msgChannelSuccess(byte[] msg, int msglen)
void
msgChannelWindowAdjust(byte[] msg, int msglen)
void
msgGlobalFailure()
void
msgGlobalRequest(byte[] msg, int msglen)
void
msgGlobalSuccess()
Channel
openDirectTCPIPChannel(java.lang.String host_to_connect, int port_to_connect, java.lang.String originator_IP_address, int originator_port)
Channel
openSessionChannel()
void
registerThread(com.trilead.ssh2.channel.IChannelWorkerThread thr)
void
registerX11Cookie(java.lang.String hexFakeCookie, X11ServerData data)
void
requestCancelGlobalForward(int bindPort)
void
requestChannelTrileadPing(Channel c)
void
requestExecCommand(Channel c, java.lang.String cmd)
int
requestGlobalForward(java.lang.String bindAddress, int bindPort, java.lang.String targetAddress, int targetPort)
void
requestGlobalTrileadPing()
void
requestPTY(Channel c, java.lang.String term, int term_width_characters, int term_height_characters, int term_width_pixels, int term_height_pixels, byte[] terminal_modes)
void
requestShell(Channel c)
void
requestSubSystem(Channel c, java.lang.String subSystemName)
void
requestX11(Channel c, boolean singleConnection, java.lang.String x11AuthenticationProtocol, java.lang.String x11AuthenticationCookie, int x11ScreenNumber)
void
sendData(Channel c, byte[] buffer, int pos, int len)
void
sendEOF(Channel c)
void
sendOpenConfirmation(Channel c)
void
unRegisterX11Cookie(java.lang.String hexFakeCookie, boolean killChannels)
int
waitForCondition(Channel c, long timeout, int condition_mask)
Wait until for a condition.
-
-
-
Constructor Detail
-
ChannelManager
public ChannelManager(TransportManager tm)
-
-
Method Detail
-
registerX11Cookie
public void registerX11Cookie(java.lang.String hexFakeCookie, X11ServerData data)
-
unRegisterX11Cookie
public void unRegisterX11Cookie(java.lang.String hexFakeCookie, boolean killChannels)
-
checkX11Cookie
public X11ServerData checkX11Cookie(java.lang.String hexFakeCookie)
-
closeAllChannels
public void closeAllChannels()
-
closeChannel
public void closeChannel(Channel c, java.lang.String reason, boolean force) throws java.io.IOException
- Throws:
java.io.IOException
-
sendEOF
public void sendEOF(Channel c) throws java.io.IOException
- Throws:
java.io.IOException
-
sendOpenConfirmation
public void sendOpenConfirmation(Channel c) throws java.io.IOException
- Throws:
java.io.IOException
-
sendData
public void sendData(Channel c, byte[] buffer, int pos, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
requestGlobalForward
public int requestGlobalForward(java.lang.String bindAddress, int bindPort, java.lang.String targetAddress, int targetPort) throws java.io.IOException
- Throws:
java.io.IOException
-
requestCancelGlobalForward
public void requestCancelGlobalForward(int bindPort) throws java.io.IOException
- Throws:
java.io.IOException
-
registerThread
public void registerThread(com.trilead.ssh2.channel.IChannelWorkerThread thr) throws java.io.IOException
- Throws:
java.io.IOException
-
openDirectTCPIPChannel
public Channel openDirectTCPIPChannel(java.lang.String host_to_connect, int port_to_connect, java.lang.String originator_IP_address, int originator_port) throws java.io.IOException
- Throws:
java.io.IOException
-
openSessionChannel
public Channel openSessionChannel() throws java.io.IOException
- Throws:
java.io.IOException
-
requestGlobalTrileadPing
public void requestGlobalTrileadPing() throws java.io.IOException
- Throws:
java.io.IOException
-
requestChannelTrileadPing
public void requestChannelTrileadPing(Channel c) throws java.io.IOException
- Throws:
java.io.IOException
-
requestPTY
public void requestPTY(Channel c, java.lang.String term, int term_width_characters, int term_height_characters, int term_width_pixels, int term_height_pixels, byte[] terminal_modes) throws java.io.IOException
- Throws:
java.io.IOException
-
requestX11
public void requestX11(Channel c, boolean singleConnection, java.lang.String x11AuthenticationProtocol, java.lang.String x11AuthenticationCookie, int x11ScreenNumber) throws java.io.IOException
- Throws:
java.io.IOException
-
requestSubSystem
public void requestSubSystem(Channel c, java.lang.String subSystemName) throws java.io.IOException
- Throws:
java.io.IOException
-
requestExecCommand
public void requestExecCommand(Channel c, java.lang.String cmd) throws java.io.IOException
- Throws:
java.io.IOException
-
requestShell
public void requestShell(Channel c) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelExtendedData
public void msgChannelExtendedData(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
waitForCondition
public int waitForCondition(Channel c, long timeout, int condition_mask)
Wait until for a condition.- Parameters:
c
- Channeltimeout
- in ms, 0 means no timeout.condition_mask
- minimum event mask- Returns:
- all current events
-
getAvailable
public int getAvailable(Channel c, boolean extended) throws java.io.IOException
- Throws:
java.io.IOException
-
getChannelData
public int getChannelData(Channel c, boolean extended, byte[] target, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelData
public void msgChannelData(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelWindowAdjust
public void msgChannelWindowAdjust(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelOpen
public void msgChannelOpen(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelRequest
public void msgChannelRequest(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelEOF
public void msgChannelEOF(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelClose
public void msgChannelClose(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelSuccess
public void msgChannelSuccess(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelFailure
public void msgChannelFailure(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelOpenConfirmation
public void msgChannelOpenConfirmation(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgChannelOpenFailure
public void msgChannelOpenFailure(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgGlobalRequest
public void msgGlobalRequest(byte[] msg, int msglen) throws java.io.IOException
- Throws:
java.io.IOException
-
msgGlobalSuccess
public void msgGlobalSuccess() throws java.io.IOException
- Throws:
java.io.IOException
-
msgGlobalFailure
public void msgGlobalFailure() throws java.io.IOException
- Throws:
java.io.IOException
-
handleMessage
public void handleMessage(byte[] msg, int msglen) throws java.io.IOException
- Specified by:
handleMessage
in interfaceMessageHandler
- Throws:
java.io.IOException
-
-