## 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
`ChannelManager(TransportManager tm)`

Method Summary
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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` - Channel
    `timeout` - 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 interface `MessageHandler`
  Throws:
    `java.io.IOException`