﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.0/dotnetdoc/api/Apache.Ignite.Core.Events.IEvents.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IEvents
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IEvents
   | 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.Events.IEvents">
  
  
  <h1 id="Apache_Ignite_Core_Events_IEvents" data-uid="Apache.Ignite.Core.Events.IEvents" class="text-break">Interface IEvents
  </h1>
  <div class="markdown level0 summary"><p>Provides functionality for event notifications on nodes defined by <a class="xref" href="Apache.Ignite.Core.Events.IEvents.html#Apache_Ignite_Core_Events_IEvents_ClusterGroup">ClusterGroup</a>.
<p>
All members are thread-safe and may be used concurrently from multiple threads.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Events.html">Apache.Ignite.Core.Events</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Events_IEvents_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IEvents</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Events_IEvents_ClusterGroup_" data-uid="Apache.Ignite.Core.Events.IEvents.ClusterGroup*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_ClusterGroup" data-uid="Apache.Ignite.Core.Events.IEvents.ClusterGroup">ClusterGroup</h4>
  <div class="markdown level1 summary"><p>Gets the cluster group to which this instance belongs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IClusterGroup ClusterGroup { get; }</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.Cluster.IClusterGroup.html">IClusterGroup</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Events_IEvents_DisableLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.DisableLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_DisableLocal_System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.DisableLocal(System.Collections.Generic.IEnumerable{System.Int32})">DisableLocal(IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Disables provided events. Allows to stop recording events that were enabled before. Note that specified 
events will be disabled regardless of whether local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DisableLocal(IEnumerable&lt;int&gt; types)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Events to disable.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_DisableLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.DisableLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_DisableLocal_System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.DisableLocal(System.Int32[])">DisableLocal(Int32[])</h4>
  <div class="markdown level1 summary"><p>Disables provided events. Allows to stop recording events that were enabled before. Note that specified 
events will be disabled regardless of whether local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DisableLocal(params int[] types)</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><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Events to disable.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_EnableLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.EnableLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_EnableLocal_System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.EnableLocal(System.Collections.Generic.IEnumerable{System.Int32})">EnableLocal(IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Enables provided events. Allows to start recording events that were disabled before. 
Note that provided events will be enabled regardless of whether local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void EnableLocal(IEnumerable&lt;int&gt; types)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Events to enable.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_EnableLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.EnableLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_EnableLocal_System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.EnableLocal(System.Int32[])">EnableLocal(Int32[])</h4>
  <div class="markdown level1 summary"><p>Enables provided events. Allows to start recording events that were disabled before. 
Note that provided events will be enabled regardless of whether local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void EnableLocal(params int[] types)</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><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Events to enable.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_GetEnabledEvents_" data-uid="Apache.Ignite.Core.Events.IEvents.GetEnabledEvents*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_GetEnabledEvents" data-uid="Apache.Ignite.Core.Events.IEvents.GetEnabledEvents">GetEnabledEvents()</h4>
  <div class="markdown level1 summary"><p>Gets types of enabled events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;int&gt; GetEnabledEvents()</code></pre>
  </div>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><p>Types of enabled events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_IsEnabled_" data-uid="Apache.Ignite.Core.Events.IEvents.IsEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_IsEnabled_System_Int32_" data-uid="Apache.Ignite.Core.Events.IEvents.IsEnabled(System.Int32)">IsEnabled(Int32)</h4>
  <div class="markdown level1 summary"><p>Determines whether the specified event is enabled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsEnabled(int type)</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><span class="xref">System.Int32</span></td>
        <td><span class="parametername">type</span></td>
        <td><p>Event type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>Value indicating whether the specified event is enabled.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_LocalListen_" data-uid="Apache.Ignite.Core.Events.IEvents.LocalListen*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_LocalListen__1_Apache_Ignite_Core_Events_IEventListener___0__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.LocalListen``1(Apache.Ignite.Core.Events.IEventListener{``0},System.Collections.Generic.IEnumerable{System.Int32})">LocalListen&lt;T&gt;(IEventListener&lt;T&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Adds an event listener for local events. Note that listener will be added regardless of whether 
local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void LocalListen&lt;T&gt;(IEventListener&lt;T&gt; listener, IEnumerable&lt;int&gt; types)where T : IEvent</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.Events.IEventListener-1.html">IEventListener</a>&lt;T&gt;</td>
        <td><span class="parametername">listener</span></td>
        <td><p>Predicate that is called on each received event. If predicate returns false,
it will be unregistered and will stop receiving events.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types for which this listener will be notified, should not be empty.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_LocalListen_" data-uid="Apache.Ignite.Core.Events.IEvents.LocalListen*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_LocalListen__1_Apache_Ignite_Core_Events_IEventListener___0__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.LocalListen``1(Apache.Ignite.Core.Events.IEventListener{``0},System.Int32[])">LocalListen&lt;T&gt;(IEventListener&lt;T&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Adds an event listener for local events. Note that listener will be added regardless of whether 
local node is in this cluster group or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void LocalListen&lt;T&gt;(IEventListener&lt;T&gt; listener, params int[] types)where T : IEvent</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.Events.IEventListener-1.html">IEventListener</a>&lt;T&gt;</td>
        <td><span class="parametername">listener</span></td>
        <td><p>Predicate that is called on each received event. If predicate returns false,
it will be unregistered and will stop receiving events.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types for which this listener will be notified, should not be empty.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_LocalQuery_" data-uid="Apache.Ignite.Core.Events.IEvents.LocalQuery*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_LocalQuery_System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.LocalQuery(System.Collections.Generic.IEnumerable{System.Int32})">LocalQuery(IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Queries local node for events using of specified types.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;IEvent&gt; LocalQuery(IEnumerable&lt;int&gt; types)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried. Optional.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Events.IEvent.html">IEvent</a>&gt;</td>
        <td><p>Collection of Ignite events found on local node.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_LocalQuery_" data-uid="Apache.Ignite.Core.Events.IEvents.LocalQuery*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_LocalQuery_System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.LocalQuery(System.Int32[])">LocalQuery(Int32[])</h4>
  <div class="markdown level1 summary"><p>Queries local node for events using of specified types.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;IEvent&gt; LocalQuery(params int[] types)</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><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried. Optional.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Events.IEvent.html">IEvent</a>&gt;</td>
        <td><p>Collection of Ignite events found on local node.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_RecordLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.RecordLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_RecordLocal_Apache_Ignite_Core_Events_IEvent_" data-uid="Apache.Ignite.Core.Events.IEvents.RecordLocal(Apache.Ignite.Core.Events.IEvent)">RecordLocal(IEvent)</h4>
  <div class="markdown level1 summary"><p>Records customer user generated event. All registered local listeners will be notified.
<p>
NOTE: all types in range <strong>from 1 to 1000 are reserved</strong> for
internal Ignite events and should not be used by user-defined events.
Attempt to record internal event with this method will cause <span class="xref">System.ArgumentException</span> to be thrown.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void RecordLocal(IEvent evt)</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.Events.IEvent.html">IEvent</a></td>
        <td><span class="parametername">evt</span></td>
        <td><p>Locally generated event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentException</span></td>
        <td><p>If event type is within Ignite reserved range (1 to 1000)</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_RemoteQuery_" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQuery*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_RemoteQuery__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Nullable_System_TimeSpan__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQuery``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Nullable{System.TimeSpan},System.Collections.Generic.IEnumerable{System.Int32})">RemoteQuery&lt;T&gt;(IEventFilter&lt;T&gt;, Nullable&lt;TimeSpan&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Queries nodes in this cluster group for events using passed in predicate filter for event selection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;T&gt; RemoteQuery&lt;T&gt;(IEventFilter&lt;T&gt; filter, TimeSpan? timeout = default (TimeSpan? ), IEnumerable&lt;int&gt; types = null)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Predicate filter used to query events on remote nodes.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.TimeSpan</span>&gt;</td>
        <td><span class="parametername">timeout</span></td>
        <td><p>Maximum time to wait for result, null or 0 to wait forever.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;T&gt;</td>
        <td><p>Collection of Ignite events returned from specified nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_RemoteQuery_" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQuery*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_RemoteQuery__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Nullable_System_TimeSpan__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQuery``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Nullable{System.TimeSpan},System.Int32[])">RemoteQuery&lt;T&gt;(IEventFilter&lt;T&gt;, Nullable&lt;TimeSpan&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Queries nodes in this cluster group for events using passed in predicate filter for event selection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;T&gt; RemoteQuery&lt;T&gt;(IEventFilter&lt;T&gt; filter, TimeSpan? timeout = default (TimeSpan? ), params int[] types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Predicate filter used to query events on remote nodes.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.TimeSpan</span>&gt;</td>
        <td><span class="parametername">timeout</span></td>
        <td><p>Maximum time to wait for result, null or 0 to wait forever.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;T&gt;</td>
        <td><p>Collection of Ignite events returned from specified nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_RemoteQueryAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQueryAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_RemoteQueryAsync__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Nullable_System_TimeSpan__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQueryAsync``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Nullable{System.TimeSpan},System.Collections.Generic.IEnumerable{System.Int32})">RemoteQueryAsync&lt;T&gt;(IEventFilter&lt;T&gt;, Nullable&lt;TimeSpan&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Queries nodes in this cluster group for events using passed in predicate filter for event selection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;ICollection&lt;T&gt;&gt; RemoteQueryAsync&lt;T&gt;(IEventFilter&lt;T&gt; filter, TimeSpan? timeout = default (TimeSpan? ), IEnumerable&lt;int&gt; types = null)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Predicate filter used to query events on remote nodes.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.TimeSpan</span>&gt;</td>
        <td><span class="parametername">timeout</span></td>
        <td><p>Maximum time to wait for result, null or 0 to wait forever.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;&gt;</td>
        <td><p>Collection of Ignite events returned from specified nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_RemoteQueryAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQueryAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_RemoteQueryAsync__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Nullable_System_TimeSpan__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.RemoteQueryAsync``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Nullable{System.TimeSpan},System.Int32[])">RemoteQueryAsync&lt;T&gt;(IEventFilter&lt;T&gt;, Nullable&lt;TimeSpan&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Queries nodes in this cluster group for events using passed in predicate filter for event selection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;ICollection&lt;T&gt;&gt; RemoteQueryAsync&lt;T&gt;(IEventFilter&lt;T&gt; filter, TimeSpan? timeout = default (TimeSpan? ), params int[] types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Predicate filter used to query events on remote nodes.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.TimeSpan</span>&gt;</td>
        <td><span class="parametername">timeout</span></td>
        <td><p>Maximum time to wait for result, null or 0 to wait forever.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Event types to be queried.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;&gt;</td>
        <td><p>Collection of Ignite events returned from specified nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_StopLocalListen_" data-uid="Apache.Ignite.Core.Events.IEvents.StopLocalListen*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_StopLocalListen__1_Apache_Ignite_Core_Events_IEventListener___0__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.StopLocalListen``1(Apache.Ignite.Core.Events.IEventListener{``0},System.Collections.Generic.IEnumerable{System.Int32})">StopLocalListen&lt;T&gt;(IEventListener&lt;T&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes local event listener.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool StopLocalListen&lt;T&gt;(IEventListener&lt;T&gt; listener, IEnumerable&lt;int&gt; types)where T : IEvent</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.Events.IEventListener-1.html">IEventListener</a>&lt;T&gt;</td>
        <td><span class="parametername">listener</span></td>
        <td><p>Local event listener to remove.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of events for which to remove listener. If not specified, then listener
will be removed for all types it was registered for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if listener was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_StopLocalListen_" data-uid="Apache.Ignite.Core.Events.IEvents.StopLocalListen*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_StopLocalListen__1_Apache_Ignite_Core_Events_IEventListener___0__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.StopLocalListen``1(Apache.Ignite.Core.Events.IEventListener{``0},System.Int32[])">StopLocalListen&lt;T&gt;(IEventListener&lt;T&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Removes local event listener.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool StopLocalListen&lt;T&gt;(IEventListener&lt;T&gt; listener, params int[] types)where T : IEvent</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.Events.IEventListener-1.html">IEventListener</a>&lt;T&gt;</td>
        <td><span class="parametername">listener</span></td>
        <td><p>Local event listener to remove.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of events for which to remove listener. If not specified, then listener
will be removed for all types it was registered for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if listener was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal(System.Collections.Generic.IEnumerable{System.Int32})">WaitForLocal(IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IEvent WaitForLocal(IEnumerable&lt;int&gt; types)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Events.IEvent.html">IEvent</a></td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal(System.Int32[])">WaitForLocal(Int32[])</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IEvent WaitForLocal(params int[] types)</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><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Events.IEvent.html">IEvent</a></td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocal__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Collections.Generic.IEnumerable{System.Int32})">WaitForLocal&lt;T&gt;(IEventFilter&lt;T&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T WaitForLocal&lt;T&gt;(IEventFilter&lt;T&gt; filter, IEnumerable&lt;int&gt; types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Optional filtering predicate. Event wait will end as soon as it returns false.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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">T</span></td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocal_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocal__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocal``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Int32[])">WaitForLocal&lt;T&gt;(IEventFilter&lt;T&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T WaitForLocal&lt;T&gt;(IEventFilter&lt;T&gt; filter, params int[] types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Optional filtering predicate. Event wait will end as soon as it returns false.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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">T</span></td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync(System.Collections.Generic.IEnumerable{System.Int32})">WaitForLocalAsync(IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;IEvent&gt; WaitForLocalAsync(IEnumerable&lt;int&gt; types)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Events.IEvent.html">IEvent</a>&gt;</td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync(System.Int32[])">WaitForLocalAsync(Int32[])</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;IEvent&gt; WaitForLocalAsync(params int[] types)</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><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Events.IEvent.html">IEvent</a>&gt;</td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Collections_Generic_IEnumerable_System_Int32__" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Collections.Generic.IEnumerable{System.Int32})">WaitForLocalAsync&lt;T&gt;(IEventFilter&lt;T&gt;, IEnumerable&lt;Int32&gt;)</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;T&gt; WaitForLocalAsync&lt;T&gt;(IEventFilter&lt;T&gt; filter, IEnumerable&lt;int&gt; types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Optional filtering predicate. Event wait will end as soon as it returns false.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;T&gt;</td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync_" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync*"></a>
  <h4 id="Apache_Ignite_Core_Events_IEvents_WaitForLocalAsync__1_Apache_Ignite_Core_Events_IEventFilter___0__System_Int32___" data-uid="Apache.Ignite.Core.Events.IEvents.WaitForLocalAsync``1(Apache.Ignite.Core.Events.IEventFilter{``0},System.Int32[])">WaitForLocalAsync&lt;T&gt;(IEventFilter&lt;T&gt;, Int32[])</h4>
  <div class="markdown level1 summary"><p>Waits for the specified events.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;T&gt; WaitForLocalAsync&lt;T&gt;(IEventFilter&lt;T&gt; filter, params int[] types)where T : IEvent</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.Events.IEventFilter-1.html">IEventFilter</a>&lt;T&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Optional filtering predicate. Event wait will end as soon as it returns false.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span>[]</td>
        <td><span class="parametername">types</span></td>
        <td><p>Types of the events to wait for. 
If not provided, all events will be passed to the filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;T&gt;</td>
        <td><p>Ignite event.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">T</span></td>
        <td><p>Type of events.</p>
</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>
