ClientSessionChannel
[C]
struct FlowSshC_ClientSessionChannel {};
Creation
---------
FlowSshC_ClientSessionChannel* __cdecl FlowSshC_ClientSessionChannel_Create(FlowSshC_Client* client);
[C++]
class ClientSessionChannel : public MainBase (.. public RefCountable, public NoCopy)
{
public:
ClientSessionChannel(RefPtrConst<Client> const& client);
..
}
[C#]
public class ClientSessionChannel : IDisposable, MainBase
{
public ClientSessionChannel(ClientBase client);
..
}
Members
Creation, Destruction
- Create - Create a new session-channel for the client.
- [C] AddRef - Increment reference count.
- [C] Release - Decrement reference count.
Requests
- Close - Close the channel.
- ExecRequest - Start a command/application on the remote server.
- OpenRequest - Open the channel.
- PtyRequest - Allocate a PTY (pseudo terminal).
- Receive - Receive data.
- Send - Send data.
- ShellRequest - Start an interactive shell.
- Signal - Send a signal.
[C] Handler Registration
- SetExitHandler - Register an exist status and signal handler.
- SetCloseHandler - Register a close handler.
[C++/.NET] Accessors
- GetClient - Returns the associated client.
[C++/.NET] Overrides and Events
- OnExitStatus - Exit status handler.
- OnExitSignal - Exist signal handler.
- OnChannelClose - Close handler.
[.NET] Disposing
- IsDisposed - Is the object disposed?
- Dispose - Release all resources used by the object. Also initiates a close request.
Remarks
Whenever you execute an application remotely or start an interactive shell, you will do so by using a session-channel. In FlowSshC, session-channels are represented by an opaque FlowSshC_ClientSessionChannel structure. In FlowSshCpp/Net they are managed by the ClientSessionChannel class. Handlers are called only for active channels. A channel is said to be active if it is either open or opening.
A channel can be created even if the associated client is not yet connected. Before an open request is send, the client must be connected though.