Check to make sure the other side hasn't sent too much data (more than
what's in the window, or more than the maximum packet size). If they have,
close the channel. Otherwise, decrease the available window and pass the
data to the channel's dataReceived().

Check to make sure the other side hasn't sent too much data (more than
what's in the window, or or than the maximum packet size). If they have,
close the channel. Otherwise, decrease the available window and pass the
data and type code to the channel's extReceived().

The other side requested a channel of some sort. channelType is the type
of channel being requested, windowSize is the initial size of the remote
window, maxPacket is the largest packet we should send, data is any other
packet data (often nothing).

By default, this dispatches to a method 'channel_channelType' with any
non-alphanumerics in the channelType replace with _'s. If it cannot find a
suitable method, it returns an OPEN_UNKNOWN_CHANNEL_TYPE error. The method
is called with arguments of windowSize, maxPacket, data.

We got a global request. pretty much, this is just used by the client
to request that we forward a port from the server to the client. Returns
either:

1: request accepted

1, <data>: request accepted with request specific data

0: request denied

By default, this dispatches to a method 'global_requestType' with -'s in
requestType replaced with _'s. The found method is passed data. If this
method cannot be found, this method returns 0. Otherwise, it returns the
return value of that method.

Called when a channel is closed. It clears the local state related to
the channel, and calls channel.closed(). MAKE SURE YOU CALL THIS METHOD,
even if you subclass SSHConnection.
If you don't, things will break mysteriously.