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

### Method Summary

Methods
`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`