﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<!-- Yandex.Metrika counter -->
    <script type="text/javascript" >
      (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
      ym(72949126, "init", {
           clickmap:true,
           trackLinks:true,
           accurateTrackBounce:true,
           webvisor:true
      });
    </script>
    <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->
<script type='text/javascript'>
    window.__lo_site_id = 284467;
    
      (function() {
        var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
        })();
      </script>
<link rel="canonical" href="https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html" />
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class ContinuousQuery&lt;TK, TV&gt;
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class ContinuousQuery&lt;TK, TV&gt;
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'UA-61232409-1');
    </script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2" class="text-break">Class ContinuousQuery&lt;TK, TV&gt;
  </h1>
  <div class="markdown level0 summary"><p>API for configuring continuous cache queries.
<p>
Continuous queries allow to register a remote and a listener for cache update events.
If an update event passes the filter, it will be sent to the node that executed the
query and listener will be notified on that node.
<p>
Continuous query can either be executed on the whole topology or only on local node.
<p>
In case query is distributed and a new node joins, it will get the filter for the query
during discovery process before it actually joins topology, so no updates will be missed.
<p>
To execute the query use method
<a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_QueryContinuous_Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery__0__1__">QueryContinuous(ContinuousQuery&lt;TK, TV&gt;)</a>.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html">ContinuousQuery</a></div>
    <div class="level2"><span class="xref">ContinuousQuery&lt;TK, TV&gt;</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultBufferSize">ContinuousQuery.DefaultBufferSize</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultTimeInterval">ContinuousQuery.DefaultTimeInterval</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultAutoUnsubscribe">ContinuousQuery.DefaultAutoUnsubscribe</a>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.html">Apache.Ignite.Core.Cache.Query.Continuous</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class ContinuousQuery&lt;TK, TV&gt; : ContinuousQuery</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TK</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="parametername">TV</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1})">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__Apache_Ignite_Core_Cache_Event_ICacheEntryEventFilter__0__1__" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter{`0,`1})">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, ICacheEntryEventFilter&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, ICacheEntryEventFilter&lt;TK, TV&gt; filter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__Apache_Ignite_Core_Cache_Event_ICacheEntryEventFilter__0__1__System_Boolean_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter{`0,`1},System.Boolean)">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, ICacheEntryEventFilter&lt;TK, TV&gt;, Boolean)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, ICacheEntryEventFilter&lt;TK, TV&gt; filter, bool loc)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Filter.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">loc</span></td>
        <td><p>Whether query should be executed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__System_Boolean_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},System.Boolean)">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, Boolean)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, bool loc)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">loc</span></td>
        <td><p>Whether query should be executed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_AutoUnsubscribe_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.AutoUnsubscribe*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_AutoUnsubscribe" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.AutoUnsubscribe">AutoUnsubscribe</h4>
  <div class="markdown level1 summary"><p>Automatic unsubscribe flag. This flag indicates that query filters on remote nodes
should be automatically unregistered if master node (node that initiated the query)
leaves topology. If this flag is <code>false</code>, filters will be unregistered only
when the query is cancelled from master node, and won&apos;t ever be unregistered if
master node leaves grid.
<p>
Defaults to <code>true</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool AutoUnsubscribe { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.BufferSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.BufferSize">BufferSize</h4>
  <div class="markdown level1 summary"><p>Buffer size. When a cache update happens, entry is first put into a buffer.
Entries from buffer will be sent to the master node only if the buffer is
full or time provided via <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval">TimeInterval</a> is exceeded.
<p>
Defaults to <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultBufferSize">DefaultBufferSize</a></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int BufferSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Filter_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Filter*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Filter" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Filter">Filter</h4>
  <div class="markdown level1 summary"><p>Optional cache entry filter. Invoked on a node where cache event occurred. If filter
returns <code>false</code>, then cache entry event will not be sent to a node where
continuous query has been started.
<p>
Must be either binary or serializable in case query is not local.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICacheEntryEventFilter&lt;TK, TV&gt; Filter { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_IncludeExpired_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.IncludeExpired*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_IncludeExpired" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.IncludeExpired">IncludeExpired</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether to notify about <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Expired">Expired</a> events.
<p>
If <code>true</code>, then the remote listener will get notifications about expired cache entries.
Otherwise, only <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Created">Created</a>, <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Updated">Updated</a>, and
<a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Removed">Removed</a> events will be passed to the listener.
<p>
Defaults to <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IncludeExpired { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Listener_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Listener*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Listener" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Listener">Listener</h4>
  <div class="markdown level1 summary"><p>Cache entry event listener. Invoked on the node where continuous query execution
has been started.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICacheEntryEventListener&lt;TK, TV&gt; Listener { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Local_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Local*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Local" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Local">Local</h4>
  <div class="markdown level1 summary"><p>Local flag. When set query will be executed only on local node, so only local
entries will be returned as query result.
<p>
Defaults to <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Local { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.TimeInterval*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.TimeInterval">TimeInterval</h4>
  <div class="markdown level1 summary"><p>Time interval. When a cache update happens, entry is first put into a buffer.
Entries from buffer will be sent to the master node only if the buffer is full
(its size can be provided via <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize">BufferSize</a> property) or time provided
via this method is exceeded.
<p>
Defaults to <code>0</code> which means that time check is disabled and entries will be
sent only when buffer is full.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan TimeInterval { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
