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.

## Constructor Summary

Constructors
Constructor
Description
`ChannelManager(TransportManager tm)`

## Method Summary

Modifier and Type
Method
Description
`X11ServerData`
`checkX11Cookie(String hexFakeCookie)`
`void`
`closeAllChannels()`
`void`
`closeChannel(Channel c, 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(String host_to_connect, int port_to_connect, String originator_IP_address, int originator_port)`
`Channel`
`openSessionChannel()`
`void`
`registerThread(com.trilead.ssh2.channel.IChannelWorkerThread thr)`
`void`
`registerX11Cookie(String hexFakeCookie, X11ServerData data)`
`void`
`requestCancelGlobalForward(int bindPort)`
`void`
`requestChannelTrileadPing(Channel c)`
`void`
`requestExecCommand(Channel c, String cmd)`
`int`
`requestGlobalForward(String bindAddress, int bindPort, String targetAddress, int targetPort)`
`void`
`requestGlobalTrileadPing()`
`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)`
`void`
`requestShell(Channel c)`
`void`
`requestSubSystem(Channel c, String subSystemName)`
`void`
`requestX11(Channel c, boolean singleConnection, String x11AuthenticationProtocol, String x11AuthenticationCookie, int x11ScreenNumber)`
`void`
`sendData(Channel c, byte[] buffer, int pos, int len)`
`void`
`sendEOF(Channel c)`
`void`
`sendOpenConfirmation(Channel c)`
`void`
`unRegisterX11Cookie(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 Details

### ChannelManager

public ChannelManager(TransportManager tm)

## Method Details

### registerX11Cookie

public void registerX11Cookie(String hexFakeCookie, X11ServerData data)

### unRegisterX11Cookie

public void unRegisterX11Cookie(String hexFakeCookie, boolean killChannels)

### checkX11Cookie

public X11ServerData checkX11Cookie(String hexFakeCookie)

### closeAllChannels

public void closeAllChannels()

### closeChannel

public void closeChannel(Channel c, String reason, boolean force) throws IOException

Throws:
  `IOException`

### sendEOF

public void sendEOF(Channel c) throws IOException

Throws:
  `IOException`

### sendOpenConfirmation

public void sendOpenConfirmation(Channel c) throws IOException

Throws:
  `IOException`

### sendData

public void sendData(Channel c, byte[] buffer, int pos, int len) throws IOException

Throws:
  `IOException`

### requestGlobalForward

public int requestGlobalForward(String bindAddress, int bindPort, String targetAddress, int targetPort) throws IOException

Throws:
  `IOException`

### requestCancelGlobalForward

public void requestCancelGlobalForward(int bindPort) throws IOException

Throws:
  `IOException`

### registerThread

public void registerThread(com.trilead.ssh2.channel.IChannelWorkerThread thr) throws IOException

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

public Channel openSessionChannel() throws IOException

Throws:
  `IOException`

### requestGlobalTrileadPing

public void requestGlobalTrileadPing() throws IOException

Throws:
  `IOException`

### requestChannelTrileadPing

public void requestChannelTrileadPing(Channel c) throws IOException

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

public void requestSubSystem(Channel c, String subSystemName) throws IOException

Throws:
  `IOException`

### requestExecCommand

public void requestExecCommand(Channel c, String cmd) throws IOException

Throws:
  `IOException`

### requestShell

public void requestShell(Channel c) throws IOException

Throws:
  `IOException`

### msgChannelExtendedData

public void msgChannelExtendedData(byte[] msg, int msglen) throws IOException

Throws:
  `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 IOException

Throws:
  `IOException`

### getChannelData

public int getChannelData(Channel c, boolean extended, byte[] target, int off, int len) throws IOException

Throws:
  `IOException`

### msgChannelData

public void msgChannelData(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelWindowAdjust

public void msgChannelWindowAdjust(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelOpen

public void msgChannelOpen(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelRequest

public void msgChannelRequest(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelEOF

public void msgChannelEOF(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelClose

public void msgChannelClose(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelSuccess

public void msgChannelSuccess(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelFailure

public void msgChannelFailure(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelOpenConfirmation

public void msgChannelOpenConfirmation(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgChannelOpenFailure

public void msgChannelOpenFailure(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgGlobalRequest

public void msgGlobalRequest(byte[] msg, int msglen) throws IOException

Throws:
  `IOException`

### msgGlobalSuccess

public void msgGlobalSuccess() throws IOException

Throws:
  `IOException`

### msgGlobalFailure

public void msgGlobalFailure() throws IOException

Throws:
  `IOException`

### handleMessage

public void handleMessage(byte[] msg, int msglen) throws IOException

Specified by:
  `handleMessage` in interface `MessageHandler`
Throws:
  `IOException`