ldap-client/Ldap-Client-Compare.html
2015-04-11 16:39:58 +00:00

11 lines
11 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ldap.Client.Compare</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Ldap-Client-Compare.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Ldap-Client-Compare.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ldap-client-0.1.0: Pure Haskell LDAP Client Library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Ldap.Client.Compare</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p><a href="https://tools.ietf.org/html/rfc4511#section-4.10">Compare</a> operation.</p><p>This operation comes in four flavours:</p><ul><li>synchronous, exception throwing (<code><a href="Ldap-Client-Compare.html#v:compare">compare</a></code>)</li><li>synchronous, returning <code><a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a></code> <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> <code>()</code> (<code><a href="Ldap-Client-Compare.html#v:compareEither">compareEither</a></code>)</li><li>asynchronous, <code><a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a></code> based (<code><a href="Ldap-Client-Compare.html#v:compareAsync">compareAsync</a></code>)</li><li>asynchronous, <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code> based (<code><a href="Ldap-Client-Compare.html#v:compareAsyncSTM">compareAsyncSTM</a></code>)</li></ul><p>Of those, the first one (<code><a href="Ldap-Client-Compare.html#v:compare">compare</a></code>) is probably the most useful for the
typical usecase.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:compare">compare</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:compareEither">compareEither</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:compareAsync">compareAsync</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:compareAsyncSTM">compareAsyncSTM</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:Async">Async</a> a</li><li class="src short"><a href="#v:wait">wait</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a)</li><li class="src short"><a href="#v:waitSTM">waitSTM</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:compare" class="def">compare</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/Ldap-Client-Compare.html#compare" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation synchronously. Raises <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><a name="v:compareEither" class="def">compareEither</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareEither" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation synchronously. Returns <code>Left e</code> where
<code>e</code> is a <code><a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a></code> on failures.</p></div></div><div class="top"><p class="src"><a name="v:compareAsync" class="def">compareAsync</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareAsync" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation asynchronously. Call <code><a href="Ldap-Client.html#v:wait">wait</a></code> to wait
for its completion.</p></div></div><div class="top"><p class="src"><a name="v:compareAsyncSTM" class="def">compareAsyncSTM</a> :: <a href="Ldap-Client-Internal.html#t:Ldap">Ldap</a> -&gt; <a href="Ldap-Client-Internal.html#t:Dn">Dn</a> -&gt; <a href="Ldap-Client-Internal.html#t:Attr">Attr</a> -&gt; <a href="Ldap-Client-Internal.html#t:AttrValue">AttrValue</a> -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="http://hackage.haskell.org/package/base/docs/Data-Bool.html#t:Bool">Bool</a>) <a href="src/Ldap-Client-Compare.html#compareAsyncSTM" class="link">Source</a></p><div class="doc"><p>Perform the Compare operation asynchronously.</p><p>Don't wait for its completion (with <code><a href="Ldap-Client.html#v:waitSTM">waitSTM</a></code>) in the
same transaction you've performed it in.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Async" class="def">Async</a> a <a href="src/Ldap-Client-Internal.html#Async" class="link">Source</a></p><div class="doc"><p>Asynchronous LDAP operation. Use <code><a href="Ldap-Client-Compare.html#v:wait">wait</a></code> or <code><a href="Ldap-Client-Compare.html#v:waitSTM">waitSTM</a></code> to wait for its completion.</p></div><div class="subs instances"><p id="control.i:Async" class="caption collapser" onclick="toggleSection('i:Async')">Instances</p><div id="section.i:Async" class="show"><table><tr><td class="src"><a href="http://hackage.haskell.org/package/base/docs/Data-Functor.html#t:Functor">Functor</a> <a href="Ldap-Client-Compare.html#t:Async">Async</a> <a href="src/Ldap-Client-Internal.html#line-64" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:wait" class="def">wait</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/System-IO.html#t:IO">IO</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a) <a href="src/Ldap-Client-Internal.html#wait" class="link">Source</a></p><div class="doc"><p>Wait for operation completion.</p></div></div><div class="top"><p class="src"><a name="v:waitSTM" class="def">waitSTM</a> :: <a href="Ldap-Client-Compare.html#t:Async">Async</a> a -&gt; <a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a> (<a href="http://hackage.haskell.org/package/base/docs/Data-Either.html#t:Either">Either</a> <a href="Ldap-Client-Internal.html#t:ResponseError">ResponseError</a> a) <a href="src/Ldap-Client-Internal.html#waitSTM" class="link">Source</a></p><div class="doc"><p>Wait for operation completion inside <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code>.</p><p>Do not use this inside the same <code><a href="http://hackage.haskell.org/package/base/docs/GHC-Conc.html#t:STM">STM</a></code> transaction the operation was
requested in! To give LDAP the chance to respond to it that transaction
should commit. After that, applying <code><a href="Ldap-Client-Compare.html#v:waitSTM">waitSTM</a></code> to the corresponding <code><a href="Ldap-Client-Compare.html#t:Async">Async</a></code>
starts to make sense.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>