Package com.trilead.ssh2.channel
Class ChannelManager
java.lang.Object
com.trilead.ssh2.channel.ChannelManager
- All Implemented Interfaces:
MessageHandler
public class ChannelManager extends Object implements MessageHandler
ChannelManager. Please read the comments in Channel.java.
Besides the crypto part, this is the core of the library.
- Version:
- $Id: ChannelManager.java,v 1.2 2008/03/03 07:01:36 cplattne Exp $
- Author:
- Christian Plattner, plattner@trilead.com
-
Constructor Summary
Constructors Constructor Description ChannelManager(TransportManager tm) -
Method Summary
Modifier and Type Method Description X11ServerDatacheckX11Cookie(String hexFakeCookie)voidcloseAllChannels()voidcloseChannel(Channel c, String reason, boolean force)intgetAvailable(Channel c, boolean extended)intgetChannelData(Channel c, boolean extended, byte[] target, int off, int len)voidhandleEndMessage(Throwable cause)Called to inform that no more messages will be delivered.voidhandleMessage(byte[] msg, int msglen)Handle message.voidmsgChannelClose(byte[] msg, int msglen)voidmsgChannelData(byte[] msg, int msglen)voidmsgChannelEOF(byte[] msg, int msglen)voidmsgChannelExtendedData(byte[] msg, int msglen)voidmsgChannelFailure(byte[] msg, int msglen)voidmsgChannelOpen(byte[] msg, int msglen)voidmsgChannelOpenConfirmation(byte[] msg, int msglen)voidmsgChannelOpenFailure(byte[] msg, int msglen)voidmsgChannelRequest(byte[] msg, int msglen)voidmsgChannelSuccess(byte[] msg, int msglen)voidmsgChannelWindowAdjust(byte[] msg, int msglen)voidmsgGlobalFailure()voidmsgGlobalRequest(byte[] msg, int msglen)voidmsgGlobalSuccess()ChannelopenDirectTCPIPChannel(String host_to_connect, int port_to_connect, String originator_IP_address, int originator_port)ChannelopenSessionChannel()voidregisterThread(com.trilead.ssh2.channel.IChannelWorkerThread thr)voidregisterX11Cookie(String hexFakeCookie, X11ServerData data)voidrequestCancelGlobalForward(int bindPort)voidrequestChannelTrileadPing(Channel c)voidrequestExecCommand(Channel c, String cmd)intrequestGlobalForward(String bindAddress, int bindPort, String targetAddress, int targetPort)voidrequestGlobalTrileadPing()voidrequestPTY(Channel c, String term, int term_width_characters, int term_height_characters, int term_width_pixels, int term_height_pixels, byte[] terminal_modes)voidrequestShell(Channel c)voidrequestSubSystem(Channel c, String subSystemName)voidrequestX11(Channel c, boolean singleConnection, String x11AuthenticationProtocol, String x11AuthenticationCookie, int x11ScreenNumber)voidsendData(Channel c, byte[] buffer, int pos, int len)voidsendEOF(Channel c)voidsendOpenConfirmation(Channel c)voidunRegisterX11Cookie(String hexFakeCookie, boolean killChannels)intwaitForCondition(Channel c, long timeout, int condition_mask)Wait until for a condition.
-
Constructor Details
-
Method Details
-
registerX11Cookie
-
unRegisterX11Cookie
-
checkX11Cookie
-
closeAllChannels
public void closeAllChannels() -
closeChannel
- Throws:
IOException
-
sendEOF
- Throws:
IOException
-
sendOpenConfirmation
- Throws:
IOException
-
sendData
- Throws:
IOException
-
requestGlobalForward
public int requestGlobalForward(String bindAddress, int bindPort, String targetAddress, int targetPort) throws IOException- Throws:
IOException
-
requestCancelGlobalForward
- Throws:
IOException
-
registerThread
- Throws:
IOException
-
openDirectTCPIPChannel
public Channel openDirectTCPIPChannel(String host_to_connect, int port_to_connect, String originator_IP_address, int originator_port) throws IOException- Throws:
IOException
-
openSessionChannel
- Throws:
IOException
-
requestGlobalTrileadPing
- Throws:
IOException
-
requestChannelTrileadPing
- Throws:
IOException
-
requestPTY
public void requestPTY(Channel c, String term, int term_width_characters, int term_height_characters, int term_width_pixels, int term_height_pixels, byte[] terminal_modes) throws IOException- Throws:
IOException
-
requestX11
public void requestX11(Channel c, boolean singleConnection, String x11AuthenticationProtocol, String x11AuthenticationCookie, int x11ScreenNumber) throws IOException- Throws:
IOException
-
requestSubSystem
- Throws:
IOException
-
requestExecCommand
- Throws:
IOException
-
requestShell
- Throws:
IOException
-
msgChannelExtendedData
- Throws:
IOException
-
waitForCondition
public int waitForCondition(Channel c, long timeout, int condition_mask) throws InterruptedExceptionWait until for a condition.- Parameters:
c- Channeltimeout- in ms, 0 means no timeout.condition_mask- minimum event mask- Returns:
- all current events
- Throws:
InterruptedException- the interrupted exception
-
getAvailable
- Throws:
IOException
-
getChannelData
public int getChannelData(Channel c, boolean extended, byte[] target, int off, int len) throws IOException- Throws:
IOException
-
msgChannelData
- Throws:
IOException
-
msgChannelWindowAdjust
- Throws:
IOException
-
msgChannelOpen
- Throws:
IOException
-
msgChannelRequest
- Throws:
IOException
-
msgChannelEOF
- Throws:
IOException
-
msgChannelClose
- Throws:
IOException
-
msgChannelSuccess
- Throws:
IOException
-
msgChannelFailure
- Throws:
IOException
-
msgChannelOpenConfirmation
- Throws:
IOException
-
msgChannelOpenFailure
- Throws:
IOException
-
msgGlobalRequest
- Throws:
IOException
-
msgGlobalSuccess
- Throws:
IOException
-
msgGlobalFailure
- Throws:
IOException
-
handleMessage
Description copied from interface:MessageHandlerHandle message.- Specified by:
handleMessagein interfaceMessageHandler- Parameters:
msg- the msgmsglen- the msglen- Throws:
IOException- the io exception
-
handleEndMessage
Description copied from interface:MessageHandlerCalled to inform that no more messages will be delivered.- Specified by:
handleEndMessagein interfaceMessageHandler- Parameters:
cause- For diagnosis, the reason that caused the transport to close down.- Throws:
IOException- the io exception
-