<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
	       [<!ENTITY mdash "&#8212;">]>
<!--
 - Copyright (C) 2010  Internet Systems Consortium, Inc. ("ISC")
 -
 - Permission to use, copy, modify, and/or distribute this software for any
 - purpose with or without fee is hereby granted, provided that the above
 - copyright notice and this permission notice appear in all copies.
 -
 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 - PERFORMANCE OF THIS SOFTWARE.
-->

<refentry>

  <refentryinfo>
    <date>August 4, 2010</date>
  </refentryinfo>

  <refmeta>
    <refentrytitle>b10-msgq</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo>BIND10</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>b10-msgq</refname>
    <refpurpose>message routing daemon for the Command Channel</refpurpose>
  </refnamediv>

  <docinfo>
    <copyright>
      <year>2010</year>
      <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
    </copyright>
  </docinfo>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>b10-msgq</command>
      <arg><option>-s <replaceable>file</replaceable></option></arg>
      <arg><option>-v</option></arg>
      <arg><option>--socket-file <replaceable>file</replaceable></option></arg>
      <arg><option>--verbose</option></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>DESCRIPTION</title>
    <para>
      The <command>b10-msgq</command>
      daemon provides message routing for the Command Channel.
    </para>

    <para>
      The Command Channel is a message bus and subscription manager.
      Programs may subscribe to certain groups to receive messages
      for that group.
      Every new connection to <command>b10-msgq</command> is
      assigned a unique identifier -- this is the local name.
      The commands it handles are:
      <itemizedlist>

      <listitem><para>
        <command>getlname</command>
        &mdash; receive local name. 
      </para></listitem>

      <listitem><para>
        <command>send</command>
        &mdash; send a message to defined subscribers.
      </para></listitem>

      <listitem><para>
        <command>subscribe</command>
	&mdash; add a subscription. This means it is a listener
	for messages for a specific group.
      </para></listitem>

      <listitem><para>
        <command>unsubscribe</command>
        &mdash; remove a subscription.
      </para></listitem>

      </itemizedlist>
    </para>

    <para>
      It listens on 127.0.0.1.
    </para>

    <para>
      The <command>b10-msgq</command> daemon may be cleanly stopped by
      sending the SIGTERM signal to the process.
      This shutdown does not notify the subscribers.
    </para>

  </refsect1>

  <refsect1>
    <title>OPTIONS</title>

    <para>The arguments are as follows:</para>

    <variablelist>
      <varlistentry>
        <term><option>-s <replaceable>file</replaceable></option>,
          <option>--socket-file <replaceable>file</replaceable></option></term>
        <listitem><para>
          The UNIX domain socket file this daemon will use.
          The default is
          <filename>/usr/local/var/bind10-devel/msg_socket</filename>.
<!-- @localstatedir@/@PACKAGE_NAME@/msg_socket -->
          </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-v</option>, <option>--verbose</option></term>
        <listitem><para>
          Enabled verbose mode. This enables diagnostic messages to
          STDERR.  Displays more about what <command>b10-msgq</command>
          is doing.
<!-- TODO: is STDERR correct? -->
        </para></listitem>
      </varlistentry>

    </variablelist>

  </refsect1>

  <refsect1>
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>bind10</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citetitle>BIND 10 Guide</citetitle>.
    </para>
<!-- TODO: point to developer docs -->
  </refsect1>

  <refsect1>
    <title>AUTHORS</title>
    <para>
      The <command>b10-msgq</command> daemon and Control Channel specification
      were initially designed by Michael Graff of ISC.
    </para>
  </refsect1>

  <refsect1>
    <title>HISTORY</title>
    <para>
       The python version was first coded in December 2009.
       The C version with now deprecated wire format was coded in September
       2009.
    </para>
  </refsect1>

</refentry><!--
 - Local variables:
 - mode: sgml
 - End:
-->



