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

<refentry xml:id="zookeeper.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>Zookeeper::__construct</refname>
  <refpurpose>Create a handle to used communicate with zookeeper</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <constructorsynopsis role="oop">
   <modifier>public</modifier>
   <methodname>Zookeeper::__construct</methodname>
   <methodparam choice="opt"><type>string</type><parameter>host</parameter><initializer>''</initializer></methodparam>
   <methodparam choice="opt"><type>callable</type><parameter>watcher_cb</parameter><initializer>&null;</initializer></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>recv_timeout</parameter><initializer>10000</initializer></methodparam>
  </constructorsynopsis>
  <para>
   This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <variablelist>
   <varlistentry>
    <term><parameter>host</parameter></term>
    <listitem>
     <para>
      comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><parameter>watcher_cb</parameter></term>
    <listitem>
     <para>
      the global watcher callback function. When notifications are triggered this function will be invoked.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><parameter>recv_timeout</parameter></term>
    <listitem>
     <para>
      the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1 role="errors">
  &reftitle.errors;
  <para>
   This method emits PHP error/warning when parameters count or types are wrong or could not init instance.
  </para>
  <caution>
    <para>
      Since version 0.3.0, this method emits <classname>ZookeeperException</classname> and it's derivatives.
    </para>
  </caution>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <simplelist>
   <member><methodname>Zookeeper::connect</methodname></member>
   <member><classname>ZookeeperException</classname></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
-->
