<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Class: IgniteClient</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Class: IgniteClient</h1>

    




<section>

<header>
    
        <h2><span class="attribs"><span class="type-signature"></span></span>IgniteClient<span class="signature">(onStateChanged<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h2>
        
            <div class="class-description"><p>Class representing Ignite client.</p></div>
        
    
</header>

<article>
    <div class="container-overview">
    
        

    
    <h2>Constructor</h2>
    

    
    <h4 class="name" id="IgniteClient"><span class="type-signature"></span>new IgniteClient<span class="signature">(onStateChanged<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Public constructor.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>onStateChanged</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="IgniteClient.html#.onStateChanged">IgniteClient.onStateChanged</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    null
                
                </td>
            

            <td class="description last"><p>callback called everytime when the client has moved to a new state <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line60">line 60</a>
    </li></ul></dd>
    

    

    

    
</dl>


















    
    </div>

    

    

    

    

    

    

    
        <h3 class="subsection-title">Members</h3>

        
            
<h4 class="name" id=".STATE"><span class="type-signature">(static, readonly) </span>STATE<span class="type-signature"></span></h4>




<div class="description">
    <p>State of Ignite client.</p>
</div>







    <h5 class="subsection-title">Properties:</h5>

    

<table class="props">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>DISCONNECTED</code></td>
            

            <td class="type">
            
            </td>

            

            

            <td class="description last"><p>The client is not connected to any Ignite node,
    operations with the Ignite server are not allowed.
    This is initial state after a client instance creation.
    If connect() method is called, the client moves to CONNECTING state.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>CONNECTING</code></td>
            

            <td class="type">
            
            </td>

            

            

            <td class="description last"><p>The client tries to connect to an Ignite node,
    operations with the Ignite server are not allowed.
    If disconnect() method is called, the client moves to DISCONNECTED state.
    If not possible to connect to any Ignite node, the client moves to DISCONNECTED state.
    If connection to an Ignite node is successful, the client moves to CONNECTED state.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>CONNECTED</code></td>
            

            <td class="type">
            
            </td>

            

            

            <td class="description last"><p>The client is connected to an Ignite node,
    all operations with the Ignite server are allowed.
    If connection with the Ignite node is lost, the client moves to CONNECTING state.
    If disconnect() method is called, the client moves to DISCONNECTED state.</p></td>
        </tr>

    
    </tbody>
</table>




<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line30">line 30</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    
    <h4 class="name" id="cacheNames"><span class="type-signature">(async) </span>cacheNames<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h4>
    

    



<div class="description">
    <p>Gets existing cache names.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line249">line 249</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in CONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>array with the existing cache names.
  The array is empty if no caches exist.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Promise.&lt;Array.&lt;string>></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="connect"><span class="type-signature">(async) </span>connect<span class="signature">(config)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Connects the client.</p>
<p>Should be called from DISCONNECTED state only.
Moves the client to CONNECTING state.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>config</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></span>


            
            </td>

            

            

            <td class="description last"><p>the client configuration.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line100">line 100</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in DISCONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>







        
            

    

    
    <h4 class="name" id="createCache"><span class="type-signature">(async) </span>createCache<span class="signature">(name, cacheConfig<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="CacheClient.html">CacheClient</a>>}</span></h4>
    

    



<div class="description">
    <p>Creates new cache with the provided name and optional configuration.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>cache name.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cacheConfig</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="CacheConfiguration.html">CacheConfiguration</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    null
                
                </td>
            

            <td class="description last"><p>cache configuration.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line132">line 132</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in CONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if cache with the provided name already exists.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="OperationError.html">OperationError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>new cache client instance for the created cache.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Promise.&lt;<a href="CacheClient.html">CacheClient</a>></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="destroyCache"><span class="type-signature">(async) </span>destroyCache<span class="signature">(name)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Destroys cache with the provided name.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>cache name.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line200">line 200</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in CONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if cache with the provided name does not exist.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="OperationError.html">OperationError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>







        
            

    

    
    <h4 class="name" id="disconnect"><span class="type-signature"></span>disconnect<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Disconnects the client.</p>
<p>Moves the client to DISCONNECTED state from any other state.
Does nothing if the client already disconnected.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line112">line 112</a>
    </li></ul></dd>
    

    

    

    
</dl>


















        
            

    

    
    <h4 class="name" id="getCache"><span class="type-signature"></span>getCache<span class="signature">(name)</span><span class="type-signature"> &rarr; {<a href="CacheClient.html">CacheClient</a>}</span></h4>
    

    



<div class="description">
    <p>Gets cache client instance of cache with the provided name.
The method does not check if the cache with the provided name exists.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>cache name.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line184">line 184</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>if error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>new cache client instance.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="CacheClient.html">CacheClient</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="getCacheConfiguration"><span class="type-signature">(async) </span>getCacheConfiguration<span class="signature">(name)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="CacheConfiguration.html">CacheConfiguration</a>>}</span></h4>
    

    



<div class="description">
    <p>Returns configuration of cache with the provided name.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>cache name.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line222">line 222</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in CONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if cache with the provided name does not exist.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="OperationError.html">OperationError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>cache configuration</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Promise.&lt;<a href="CacheConfiguration.html">CacheConfiguration</a>></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="getOrCreateCache"><span class="type-signature">(async) </span>getOrCreateCache<span class="signature">(name, cacheConfig<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="CacheClient.html">CacheClient</a>>}</span></h4>
    

    



<div class="description">
    <p>Gets existing cache with the provided name
or creates new one with the provided name and optional configuration.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>cache name.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>cacheConfig</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="CacheConfiguration.html">CacheConfiguration</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    null
                
                </td>
            

            <td class="description last"><p>cache configuration (ignored if cache
  with the provided name already exists).</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line161">line 161</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>
<ul>
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if the client is not in CONNECTED <a href="IgniteClient.html#.STATE">IgniteClient.STATE</a>.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IllegalStateError.html">IllegalStateError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    
        <li>

<dl>
    <dt>
        <div class="param-desc">
        <p>if other error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>

</li>
    </ul>


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>new cache client instance for the existing or created cache.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Promise.&lt;<a href="CacheClient.html">CacheClient</a>></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="setDebug"><span class="type-signature"></span>setDebug<span class="signature">(value)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Enables/disables the library debug output (including errors logging).
Disabled by default.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            

            

            <td class="description last"><p>true to enable, false to disable</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line266">line 266</a>
    </li></ul></dd>
    

    

    

    
</dl>


















        
    

    
        <h3 class="subsection-title">Type Definitions</h3>

        
                

    

    
    <h4 class="name" id=".onStateChanged"><span class="type-signature"></span>onStateChanged<span class="signature">(state, reason)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>onStateChanged callback.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>state</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="IgniteClient.html#.STATE">IgniteClient.STATE</a></span>


            
            </td>

            

            

            <td class="description last"><p>the new state of the client.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>reason</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>the reason why the state has been changed.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClient.js.html">IgniteClient.js</a>, <a href="IgniteClient.js.html#line80">line 80</a>
    </li></ul></dd>
    

    

    

    
</dl>


















            
    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>