﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.5/dotnetdoc/api/Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html" />

<META NAME="ROBOTS" CONTENT="NOINDEX">

    <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>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</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_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 - 2018 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>
