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

### Method Summary

All Methods Instance Methods Concrete 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`