<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<refentry xml:id="function.log-reply" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>log_reply</refname>
  <refpurpose>Callback When Reading the MongoDB reply</refpurpose>
 </refnamediv>

 <refsect1 role="description"><!-- {{{ -->
  &reftitle.description;
  <methodsynopsis role="procedural">
   <methodname>log_reply</methodname>
   <methodparam><type>array</type><parameter>server</parameter></methodparam>
   <methodparam><type>array</type><parameter>messageHeaders</parameter></methodparam>
   <methodparam><type>array</type><parameter>operationHeaders</parameter></methodparam>
  </methodsynopsis>
  <para>
   A <type>callable</type> function, used by the
   <link linkend="context.mongodb.log-reply">log_reply context option</link>,
   when reading a reply from MongoDB.
  </para>
  <note>
   <para>
    This is <emphasis>not</emphasis> a real function, only a prototype of how the function should
    be.
   </para>
  </note>
 </refsect1><!-- }}} -->

 <refsect1 role="parameters"><!-- {{{ -->
  &reftitle.parameters;
  <variablelist>
   &mongo.context.server;
   <varlistentry>
    <term>
     <parameter>messageHeaders</parameter>
    </term>
    <listitem>
     <para>
      <informaltable>
       <tgroup cols="2">
        <thead>
         <row>
          <entry>key</entry>
          <entry>value</entry>
         </row>
        </thead>
        <tbody>
         <row>
          <entry>length</entry>
          <entry>integer, bytes, message reply length</entry>
         </row>
         <row>
          <entry>request_id</entry>
          <entry>integer, the server request identifier</entry>
         </row>
         <row>
          <entry>response_id</entry>
          <entry>integer, the driver request identifier this message is a response of</entry>
         </row>
         <row>
          <entry>opcode</entry>
          <entry>integer, the opcode id</entry>
         </row>
        </tbody>
       </tgroup>
      </informaltable>
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>
     <parameter>operationHeaders</parameter>
    </term>
    <listitem>
     <para>
      <informaltable>
       <tgroup cols="2">
        <thead>
         <row>
          <entry>key</entry>
          <entry>value</entry>
         </row>
        </thead>
        <tbody>
         <row>
          <entry>flags</entry>
          <entry>integer, bitmask of protocol flags</entry>
         </row>
         <row>
          <entry>cursor_id</entry>
          <entry>integer, ID of the cursor created on the server (0 if none created, or its been exhausted)</entry>
         </row>
         <row>
          <entry>start</entry>
          <entry>The starting offset of this cursor</entry>
         </row>
         <row>
          <entry>returned</entry>
          <entry>integer, how many documents are returned in this trip</entry>
         </row>
        </tbody>
       </tgroup>
      </informaltable>
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1><!-- }}} -->

 <refsect1 role="seealso"><!-- {{{ -->
  &reftitle.seealso;
  <simplelist>
   <member>The <link xlink:href="&url.mongodb.dochub.wireprotocol;">OP_REPLY definition in the Wire Protocol</link></member>
  </simplelist>
 </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:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->