diff options
Diffstat (limited to 'lib/ssh/doc/src/ssh_daemon_channel.xml')
-rw-r--r-- | lib/ssh/doc/src/ssh_daemon_channel.xml | 127 |
1 files changed, 5 insertions, 122 deletions
diff --git a/lib/ssh/doc/src/ssh_daemon_channel.xml b/lib/ssh/doc/src/ssh_daemon_channel.xml index 8b0ff93f5f..254f75a4de 100644 --- a/lib/ssh/doc/src/ssh_daemon_channel.xml +++ b/lib/ssh/doc/src/ssh_daemon_channel.xml @@ -33,137 +33,20 @@ <modulesummary>-behaviour(ssh_daemon_channel). </modulesummary> <description> - <p>SSH services (clients and servers) are implemented as channels - that are multiplexed over an SSH connection and communicates over - the <url href="http://www.ietf.org/rfc/rfc4254.txt"> SSH - Connection Protocol</url>. This module provides a callback API - that takes care of generic channel aspects for daemons, such as flow control - and close messages. It lets the callback functions take care of - the service (application) specific parts. This behavior also ensures - that the channel process honors the principal of an OTP-process so - that it can be part of a supervisor tree. This is a requirement of - channel processes implementing a subsystem that will be added to - the <c>ssh</c> applications supervisor tree. + <p>This behaviour should NOT be used for new programs but is kept for compatibility. </p> - - <note><p>When implementing a client subsystem handler, use - <seealso marker="ssh_channel">-behaviour(ssh_channel)</seealso> instead. - </p> - </note> - + <p>It is replaced by <seealso marker="ssh_server_channel">ssh_server_channel</seealso>.</p> </description> - <section> - <title>Callback Functions</title> - <p> - The following functions are to be exported from a - <c>ssh_daemon_channel</c> callback module. - </p> - </section> - <funcs> <func> - <name>Module:init(Args) -> {ok, State} | {ok, State, timeout()} | - {stop, Reason}</name> - <fsummary>Makes necessary initializations and returns the - initial channel state if the initializations succeed.</fsummary> - <type> - <v>Args = term()</v> - <d>Last argument to <c>start_link/4</c>.</d> - <v>State = term()</v> - <v>Reason = term()</v> - </type> - <desc> - <p>Makes necessary initializations and returns the initial channel - state if the initializations succeed. - </p> - <p>The time-out values that can be returned - have the same semantics as in a <seealso marker="stdlib:gen_server">gen_server</seealso>. - If the time-out occurs, <seealso marker="#Module:handle_msg-2">handle_msg/2</seealso> - is called as <c>handle_msg(timeout, State)</c>. - </p> - </desc> - </func> - - <func> - <name>Module:handle_msg(Msg, State) -> {ok, State} | - {stop, ChannelId, State}</name> - - <fsummary>Handles other messages than SSH connection protocol, - call, or cast messages sent to the channel.</fsummary> - <type> - <v>Msg = timeout | term()</v> - <v>ChannelId = <seealso marker="ssh#type-channel_id">ssh:channel_id()</seealso></v> - <v>State = term() </v> - </type> - <desc> - <p>Handles other messages than SSH Connection Protocol, call, or - cast messages sent to the channel. - </p> - - <p>Possible Erlang 'EXIT' messages is to be handled by this - function and all channels are to handle the following message.</p> - - <taglist> - <tag><c>{ssh_channel_up, ssh:channel_id(), ssh:connection_ref()}</c></tag> - <item><p>This is the first message that the channel receives. - This is especially useful if the - server wants to send a message to the client without first - receiving a message from it. If the message is not - useful for your particular scenario, ignore it by - immediately returning <c>{ok, State}</c>. - </p></item> - </taglist> - </desc> - </func> - - <func> - <name>Module:handle_ssh_msg(Msg, State) -> {ok, State} | {stop, - ChannelId, State}</name> - <fsummary>Handles <c>ssh</c> connection protocol messages.</fsummary> - <type> - <v>Msg = ssh_connection:event()</v> - <v>ChannelId = <seealso marker="ssh#type-channel_id">ssh:channel_id()</seealso></v> - <v>State = term()</v> - </type> - <desc> - <p>Handles SSH Connection Protocol messages that may need - service-specific attention. For details, - see <seealso marker="ssh_connection"> ssh_connection:event()</seealso>. - </p> - - <p>The following message is taken care of by the - <c>ssh_daemon_channel</c> behavior.</p> - - <taglist> - <tag><c>{closed, ssh:channel_id()}</c></tag> - <item><p>The channel behavior sends a close message to the - other side, if such a message has not already been sent. - Then it terminates the channel with reason <c>normal</c>.</p></item> - </taglist> - </desc> - </func> - - <func> - <name>Module:terminate(Reason, State) -> _</name> - <fsummary>Does cleaning up before channel process termination. - </fsummary> - <type> - <v>Reason = term()</v> - <v>State = term()</v> - </type> + <name>Module:CALLBACK(..)</name> + <fsummary>ssh_daemon_channel is replaced by ssh_server_channel</fsummary> <desc> - <p>This function is called by a channel process when it is - about to terminate. Before this function is called, <seealso - marker="ssh_connection#close-2"> ssh_connection:close/2 - </seealso> is called, if it has not been called earlier. - This function does any necessary cleaning - up. When it returns, the channel process terminates with - reason <c>Reason</c>. The return value is ignored. + <p>See <seealso marker="ssh_server_channel">ssh_server_channel</seealso> which replaces this module. </p> </desc> </func> - </funcs> </erlref> |