<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [

<!-- Process this file with docbook-to-man to generate an nroff manual
page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
less'.  A typical entry in a Makefile or Makefile.am is:

manpage.1: manpage.sgml
docbook-to-man $< > $@


The docbook-to-man binary is found in the docbook-to-man package.
Please remember that if you create the nroff version in one of the
debian/rules file targets (such as build), you will need to include
docbook-to-man in your Build-Depends control field.

-->

<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>Michael</firstname>">
<!ENTITY dhsurname   "<surname>Fladischer</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate      "<date>29 August 2018</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection   "<manvolnum>1</manvolnum>">
<!ENTITY dhemail     "<email>fladi@debian.org</email>">
<!ENTITY dhusername  "fladi">
<!ENTITY dhucpackage "<refentrytitle>DAPHNE</refentrytitle>">
<!ENTITY dhpackage   "daphne">

<!ENTITY debian      "<productname>Debian</productname>">
<!ENTITY gnu         "<acronym>GNU</acronym>">
<!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>

<refentry>
    <refentryinfo>
        <address>
            &dhemail;
        </address>
        <author>
            &dhfirstname;
            &dhsurname;
        </author>
        <copyright>
            <year>2017</year>
            <holder>&dhusername;</holder>
        </copyright>
        &dhdate;
    </refentryinfo>
    <refmeta>
        &dhucpackage;

        &dhsection;
    </refmeta>
    <refnamediv>
        <refname>&dhpackage;</refname>

        <refpurpose>Django HTTP/WebSocket server</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <cmdsynopsis>
            <command>&dhpackage;</command>
            <arg><option>-h</option></arg>
            <arg><option>-p <replaceable>PORT</replaceable></option></arg>
            <arg><option>-b <replaceable>HOST</replaceable></option></arg>
            <arg><option>--websocket_timeout <replaceable>WEBSOCKET_TIME_OUT</replaceable></option></arg>
            <arg><option>--websocket_connect_timeout <replaceable>WEBSOCKET_CONNECT_TIMEOUT</replaceable></option></arg>
            <arg><option>-u <replaceable>UNIX_SOCKET</replaceable></option></arg>
            <arg><option>--fd <replaceable>FILE_DESCRIPTOR</replaceable></option></arg>
            <arg><option>-e <replaceable>SOCKET_STRINGS</replaceable></option></arg>
            <arg><option>-v <replaceable>VERBOSITY</replaceable></option></arg>
            <arg><option>-t <replaceable>HTTP_TIMEOUT</replaceable></option></arg>
            <arg><option>--access-log <replaceable>ACCESS_LOG</replaceable></option></arg>
            <arg><option>--ping-interval <replaceable>PING_INTERVAL</replaceable></option></arg>
            <arg><option>--ping-timeout <replaceable>PING_TIMEOUT</replaceable></option></arg>
            <arg><option>--application-close-timeout <replaceable>SECONDS></option></arg>
            <arg><option>--ws-protocol <replaceable>WS_PROTOCOLS [WS_PROTOCOLS ...]</replaceable></option></arg>
            <arg><option>--root-path <replaceable>ROOT_PATH</replaceable></option></arg>
            <arg><option>--proxy-headers</option></arg>
            <arg>channel_layer</arg>
        </cmdsynopsis>
    </refsynopsisdiv>
    <refsect1>
        <title>DESCRIPTION</title>

        <para>This manual page documents briefly the
            <command>&dhpackage;</command> command.</para>

        <para>This manual page was written for the &debian; distribution
            because the original program does not have a manual page.</para>

        <para>
            <command>&dhpackage;</command> is a program that manages the
            Celery Worker Daemons and their queues.
        </para>

    </refsect1>
    <refsect1>
        <title>OPTIONS</title>

        <para>This program follows the usual &gnu; command line syntax,
            with long options starting with two dashes (`-').  A summary of
            options is included below.</para>

        <variablelist>
            <varlistentry>
                <term>
                    <option>-h</option>
                    <option>--help</option>
                </term>
                <listitem>
                    <para>Show help message and exit.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-p <replaceable class="parameter">PORT</replaceable></option>
                    <option>--port <replaceable class="parameter">PORT</replaceable></option>
                </term>
                <listitem>
                    <para>Port number to listen on.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-b <replaceable class="parameter">HOST</replaceable></option>
                    <option>--bind <replaceable class="parameter">HOST</replaceable></option>
                </term>
                <listitem>
                    <para>The host/address to bind to.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--websocket_timeout <replaceable class="parameter">WEBSOCKET_TIMEOUT</replaceable></option>
                </term>
                <listitem>
                    <para>Maximum time to allow a websocket to be connected. -1 for infinite.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--websocket_connect_timeout <replaceable class="parameter">WEBSOCKET_CONNECT_TIMEOUT</replaceable></option>
                </term>
                <listitem>
                    <para>Maximum time to allow a connection to handshake. -1 for infinite.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-u <replaceable class="parameter">UNIX_SOCKET</replaceable></option>
                    <option>--unix-socket <replaceable class="parameter">UNIX_SOCKET</replaceable></option>
                </term>
                <listitem>
                    <para>Bind to a UNIX socket rather than a TCP host/port.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--fd <replaceable class="parameter">FILE_DESCRIPTOR</replaceable></option>
                </term>
                <listitem>
                    <para>Bind to a file descriptor rather than a TCP host/port or named unix socket.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-e <replaceable class="parameter">SOCKET_STRINGS</replaceable></option>
                    <option>--endpoint <replaceable class="parameter">SOCKET_STRINGS</replaceable></option>
                </term>
                <listitem>
                    <para>Use raw server strings passed directly to twisted.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-v <replaceable class="parameter">VERBOSITY</replaceable></option>
                    <option>--verbosity <replaceable class="parameter">VERBOSITY</replaceable></option>
                </term>
                <listitem>
                    <para>How verbose to make the output.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>-t <replaceable class="parameter">HTTP_TIMEOUT</replaceable></option>
                    <option>--http-timeout <replaceable class="parameter">HTTP_TIMEOUT</replaceable></option>
                </term>
                <listitem>
                    <para>How long to wait for worker server before timing out HTTP connections.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--access-log <replaceable class="parameter">ACCESS_LOG</replaceable></option>
                </term>
                <listitem>
                    <para>Where to write the access log (- for stdout, the default for verbosity=1).</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--ping-interval <replaceable class="parameter">PING_INTERVAL</replaceable></option>
                </term>
                <listitem>
                    <para>The number of seconds a WebSocket must be idle before a keepalive ping is sent.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--ping-timeout <replaceable class="parameter">PING_TIMEOUT</replaceable></option>
                </term>
                <listitem>
                    <para>The number of seconds before a WebSocket is closed if no response to a keepalive ping.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--application-close-timeout <replaceable class="parameter">SECONDS</replaceable></option>
                </term>
                <listitem>
                    <para>The number of seconds an ASGI application has to exit after client disconnect before it is killed (Default: 10).</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--ws-protocol <replaceable class="parameter">WS_PROTOCOLS [WS_PROTOCOLS]</replaceable></option>
                </term>
                <listitem>
                    <para>The WebSocket protocols you wish to support.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--root-path <replaceable class="parameter">ROOT_PATH</replaceable></option>
                </term>
                <listitem>
                    <para>The setting for the ASGI root_path variable.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <option>--proxy-headers</option>
                </term>
                <listitem>
                    <para>Enable parsing and using of X-Forwarded-For and X-Forwarded-Port headers and using that as the client address.</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1>
        <title>ARGUMENTS</title>
        <variablelist>
            <varlistentry>
                <term>channel_layer</term>
                <listitem>
                    <para>The ASGI channel layer instance to use as path.to.module:instance.path.</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1>
        <title>AUTHOR</title>

        <para>This manual page was written by &dhusername; &dhemail; for
            the &debian; system (and may be used by others).  Permission is
            granted to copy, distribute and/or modify this document under
            the terms of the &gnu; General Public License, Version 2 any
            later version published by the Free Software Foundation.
        </para>
        <para>
            On Debian systems, the complete text of the GNU General Public
            License can be found in /usr/share/common-licenses/GPL.
        </para>

    </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
