<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>The Zookeeper class</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="zookeeper.constants.html">Predefined Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="zookeeper.addauth.html">Zookeeper::addAuth</a></div> <div class="up"><a href="book.zookeeper.html">ZooKeeper</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="class.zookeeper" class="reference"> <h1 class="title">The Zookeeper class</h1> <div class="partintro"><p class="verinfo">(PECL zookeeper >= 0.1.0)</p> <div class="section" id="zookeeper.intro"> <h2 class="title">Introduction</h2> <p class="para"> Represents ZooKeeper session. </p> </div> <div class="section" id="zookeeper.synopsis"> <h2 class="title">Class synopsis</h2> <div class="classsynopsis"> <div class="ooclass"></div> <div class="classsynopsisinfo"> <span class="ooclass"> <strong class="classname">Zookeeper</strong> </span> {</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methods */</div> <div class="constructorsynopsis dc-description"> <span class="modifier">public</span> <span class="methodname"><a href="zookeeper.construct.html" class="methodname">__construct</a></span> ([ <span class="methodparam"><span class="type">string</span> <code class="parameter">$host</code><span class="initializer"> = ''</span></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$recv_timeout</code><span class="initializer"> = 10000</span></span> ]]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.addauth.html" class="methodname">addAuth</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$scheme</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$cert</code></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$completion_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="zookeeper.close.html" class="methodname">close</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="zookeeper.connect.html" class="methodname">connect</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$host</code></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$recv_timeout</code><span class="initializer"> = 10000</span></span> ]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">string</span> <span class="methodname"><a href="zookeeper.create.html" class="methodname">create</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$value</code></span> , <span class="methodparam"><span class="type">array</span> <code class="parameter">$acls</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$flags</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.delete.html" class="methodname">delete</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$version</code><span class="initializer"> = -1</span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.exists.html" class="methodname">exists</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">string</span> <span class="methodname"><a href="zookeeper.get.html" class="methodname">get</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$stat</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$max_size</code><span class="initializer"> = 0</span></span> ]]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">array</span> <span class="methodname"><a href="zookeeper.getacl.html" class="methodname">getAcl</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">array</span> <span class="methodname"><a href="zookeeper.getchildren.html" class="methodname">getChildren</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> [, <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="zookeeper.getclientid.html" class="methodname">getClientId</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">ZookeeperConfig</span> <span class="methodname"><a href="zookeeper.getconfig.html" class="methodname">getConfig</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="zookeeper.getrecvtimeout.html" class="methodname">getRecvTimeout</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="zookeeper.getstate.html" class="methodname">getState</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.isrecoverable.html" class="methodname">isRecoverable</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.set.html" class="methodname">set</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$value</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$version</code><span class="initializer"> = -1</span></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$stat</code><span class="initializer"> = <strong><code>NULL</code></strong></span></span> ]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.setacl.html" class="methodname">setAcl</a></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$path</code></span> , <span class="methodparam"><span class="type">int</span> <code class="parameter">$version</code></span> , <span class="methodparam"><span class="type">array</span> <code class="parameter">$acl</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="modifier">static</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.setdebuglevel.html" class="methodname">setDebugLevel</a></span> ( <span class="methodparam"><span class="type">int</span> <code class="parameter">$logLevel</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="modifier">static</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.setdeterministicconnorder.html" class="methodname">setDeterministicConnOrder</a></span> ( <span class="methodparam"><span class="type">bool</span> <code class="parameter">$yesOrNo</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.setlogstream.html" class="methodname">setLogStream</a></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$stream</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">bool</span> <span class="methodname"><a href="zookeeper.setwatcher.html" class="methodname">setWatcher</a></span> ( <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$watcher_cb</code></span> )</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constants */</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-read"><var class="varname">PERM_READ</var></a></var> <span class="initializer"> = 1</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-write"><var class="varname">PERM_WRITE</var></a></var> <span class="initializer"> = 2</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-create"><var class="varname">PERM_CREATE</var></a></var> <span class="initializer"> = 4</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-delete"><var class="varname">PERM_DELETE</var></a></var> <span class="initializer"> = 8</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-admin"><var class="varname">PERM_ADMIN</var></a></var> <span class="initializer"> = 16</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.perm-all"><var class="varname">PERM_ALL</var></a></var> <span class="initializer"> = 31</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.log-level-error"><var class="varname">LOG_LEVEL_ERROR</var></a></var> <span class="initializer"> = 1</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.log-level-warn"><var class="varname">LOG_LEVEL_WARN</var></a></var> <span class="initializer"> = 2</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.log-level-info"><var class="varname">LOG_LEVEL_INFO</var></a></var> <span class="initializer"> = 3</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.log-level-debug"><var class="varname">LOG_LEVEL_DEBUG</var></a></var> <span class="initializer"> = 4</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.expired-session-state"><var class="varname">EXPIRED_SESSION_STATE</var></a></var> <span class="initializer"> = -112</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.auth-failed-state"><var class="varname">AUTH_FAILED_STATE</var></a></var> <span class="initializer"> = -113</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.connecting-state"><var class="varname">CONNECTING_STATE</var></a></var> <span class="initializer"> = 1</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.associating-state"><var class="varname">ASSOCIATING_STATE</var></a></var> <span class="initializer"> = 2</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.connected-state"><var class="varname">CONNECTED_STATE</var></a></var> <span class="initializer"> = 3</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.readonly-state"><var class="varname">READONLY_STATE</var></a></var> <span class="initializer"> = 5</span> ;</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">integer</span> <var class="fieldsynopsis_varname"><a href="class.zookeeper.html#zookeeper.class.constants.notconnected-state"><var class="varname">NOTCONNECTED_STATE</var></a></var> <span class="initializer"> = 999</span> ;</div> }</div> </div> <div class="section" id="zookeeper.class.constants"> <h2 class="title">Predefined Constants</h2> <div class="section" id="zookeeper.class.constants.perms"> <h2 class="title"><acronym>ZooKeeper</acronym> Permissions</h2> <dl> <dt id="zookeeper.class.constants.perm-read"><strong><code>Zookeeper::PERM_READ</code></strong></dt> <dd> <p class="para">Can read nodes value and list its children</p> </dd> <dt id="zookeeper.class.constants.perm-write"><strong><code>Zookeeper::PERM_WRITE</code></strong></dt> <dd> <p class="para">Can set the nodes value</p> </dd> <dt id="zookeeper.class.constants.perm-create"><strong><code>Zookeeper::PERM_CREATE</code></strong></dt> <dd> <p class="para">Can create children</p> </dd> <dt id="zookeeper.class.constants.perm-delete"><strong><code>Zookeeper::PERM_DELETE</code></strong></dt> <dd> <p class="para">Can delete children</p> </dd> <dt id="zookeeper.class.constants.perm-admin"><strong><code>Zookeeper::PERM_ADMIN</code></strong></dt> <dd> <p class="para">Can execute set_acl()</p> </dd> <dt id="zookeeper.class.constants.perm-all"><strong><code>Zookeeper::PERM_ALL</code></strong></dt> <dd> <p class="para">All of the above flags ORd together</p> </dd> </dl> </div> <div class="section" id="zookeeper.class.constants.log-levels"> <h2 class="title"><acronym>ZooKeeper</acronym> Log Levels</h2> <dl> <dt id="zookeeper.class.constants.log-level-error"><strong><code>Zookeeper::LOG_LEVEL_ERROR</code></strong></dt> <dd> <p class="para">Outputs only error mesages</p> </dd> <dt id="zookeeper.class.constants.log-level-warn"><strong><code>Zookeeper::LOG_LEVEL_WARN</code></strong></dt> <dd> <p class="para">Outputs errors/warnings</p> </dd> <dt id="zookeeper.class.constants.log-level-info"><strong><code>Zookeeper::LOG_LEVEL_INFO</code></strong></dt> <dd> <p class="para">Outputs big action messages besides errors/warnings</p> </dd> <dt id="zookeeper.class.constants.log-level-debug"><strong><code>Zookeeper::LOG_LEVEL_DEBUG</code></strong></dt> <dd> <p class="para">Outputs all</p> </dd> </dl> </div> <div class="section" id="zookeeper.class.constants.states"> <h2 class="title"><acronym>ZooKeeper</acronym> States</h2> <dl> <dt id="zookeeper.class.constants.expired-session-state"><strong><code>Zookeeper::EXPIRED_SESSION_STATE</code></strong></dt> <dd> <p class="para">Connected but session expired</p> </dd> <dt id="zookeeper.class.constants.auth-failed-state"><strong><code>Zookeeper::AUTH_FAILED_STATE</code></strong></dt> <dd> <p class="para">Connected but auth failed</p> </dd> <dt id="zookeeper.class.constants.connecting-state"><strong><code>Zookeeper::CONNECTING_STATE</code></strong></dt> <dd> <p class="para">Connecting</p> </dd> <dt id="zookeeper.class.constants.associating-state"><strong><code>Zookeeper::ASSOCIATING_STATE</code></strong></dt> <dd> <p class="para">Associating</p> </dd> <dt id="zookeeper.class.constants.connected-state"><strong><code>Zookeeper::CONNECTED_STATE</code></strong></dt> <dd> <p class="para">Connected</p> </dd> <dt id="zookeeper.class.constants.readonly-state"><strong><code>Zookeeper::READONLY_STATE</code></strong></dt> <dd> <p class="para">TODO: help us improve this extension.</p> </dd> <dt id="zookeeper.class.constants.notconnected-state"><strong><code>Zookeeper::NOTCONNECTED_STATE</code></strong></dt> <dd> <p class="para">Connection failed</p> </dd> </dl> </div> </div> </div> <h2>Table of Contents</h2><ul class="chunklist chunklist_reference"><li><a href="zookeeper.addauth.html">Zookeeper::addAuth</a> — Specify application credentials</li><li><a href="zookeeper.close.html">Zookeeper::close</a> — Close the zookeeper handle and free up any resources</li><li><a href="zookeeper.connect.html">Zookeeper::connect</a> — Create a handle to used communicate with zookeeper</li><li><a href="zookeeper.construct.html">Zookeeper::__construct</a> — Create a handle to used communicate with zookeeper</li><li><a href="zookeeper.create.html">Zookeeper::create</a> — Create a node synchronously</li><li><a href="zookeeper.delete.html">Zookeeper::delete</a> — Delete a node in zookeeper synchronously</li><li><a href="zookeeper.exists.html">Zookeeper::exists</a> — Checks the existence of a node in zookeeper synchronously</li><li><a href="zookeeper.get.html">Zookeeper::get</a> — Gets the data associated with a node synchronously</li><li><a href="zookeeper.getacl.html">Zookeeper::getAcl</a> — Gets the acl associated with a node synchronously</li><li><a href="zookeeper.getchildren.html">Zookeeper::getChildren</a> — Lists the children of a node synchronously</li><li><a href="zookeeper.getclientid.html">Zookeeper::getClientId</a> — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)</li><li><a href="zookeeper.getconfig.html">Zookeeper::getConfig</a> — Get instance of ZookeeperConfig</li><li><a href="zookeeper.getrecvtimeout.html">Zookeeper::getRecvTimeout</a> — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect</li><li><a href="zookeeper.getstate.html">Zookeeper::getState</a> — Get the state of the zookeeper connection</li><li><a href="zookeeper.isrecoverable.html">Zookeeper::isRecoverable</a> — Checks if the current zookeeper connection state can be recovered</li><li><a href="zookeeper.set.html">Zookeeper::set</a> — Sets the data associated with a node</li><li><a href="zookeeper.setacl.html">Zookeeper::setAcl</a> — Sets the acl associated with a node synchronously</li><li><a href="zookeeper.setdebuglevel.html">Zookeeper::setDebugLevel</a> — Sets the debugging level for the library</li><li><a href="zookeeper.setdeterministicconnorder.html">Zookeeper::setDeterministicConnOrder</a> — Enable/disable quorum endpoint order randomization</li><li><a href="zookeeper.setlogstream.html">Zookeeper::setLogStream</a> — Sets the stream to be used by the library for logging</li><li><a href="zookeeper.setwatcher.html">Zookeeper::setWatcher</a> — Set a watcher function</li></ul> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="zookeeper.constants.html">Predefined Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="zookeeper.addauth.html">Zookeeper::addAuth</a></div> <div class="up"><a href="book.zookeeper.html">ZooKeeper</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>