aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/doc/src/ssh_daemon_channel.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ssh/doc/src/ssh_daemon_channel.xml')
-rw-r--r--lib/ssh/doc/src/ssh_daemon_channel.xml127
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>