GridGain C++
continuous_query.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019 GridGain Systems, Inc. and Contributors.
3  *
4  * Licensed under the GridGain Community Edition License (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
22 #ifndef _IGNITE_CACHE_QUERY_CONTINUOUS_CONTINUOUS_QUERY
23 #define _IGNITE_CACHE_QUERY_CONTINUOUS_CONTINUOUS_QUERY
24 
25 #include <ignite/impl/cache/query/continuous/continuous_query_impl.h>
26 
30 
31 namespace ignite
32 {
33  namespace cache
34  {
35  // Forward-declaration.
36  template<typename K, typename V>
37  class IGNITE_IMPORT_EXPORT Cache;
38 
39  namespace query
40  {
41  namespace continuous
42  {
57  template<typename K, typename V>
59  {
60  friend class Cache<K, V>;
61  public:
62 
66  enum { DEFAULT_BUFFER_SIZE = 1 };
67 
71  enum { DEFAULT_TIME_INTERVAL = 0 };
72 
77  {
78  // No-op.
79  }
80 
88  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, false))
89  {
90  // No-op.
91  }
92 
101  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, loc))
102  {
103  // No-op.
104  }
105 
113  template<typename F>
115  const Reference<F>& remoteFilter) :
116  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, false, remoteFilter))
117  {
118  // No-op.
119  }
120 
129  template<typename F>
131  const Reference<F>& remoteFilter, bool loc) :
132  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, loc, remoteFilter))
133  {
134  // No-op.
135  }
136 
145  const event::JavaCacheEntryEventFilter& remoteFilter) :
146  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, false, remoteFilter))
147  {
148  // No-op.
149  }
150 
160  const event::JavaCacheEntryEventFilter& remoteFilter, bool loc) :
161  impl(new impl::cache::query::continuous::ContinuousQueryImpl<K, V>(lsnr, loc, remoteFilter))
162  {
163  // No-op.
164  }
165 
173  void SetLocal(bool val)
174  {
175  impl.Get()->SetLocal(val);
176  }
177 
185  bool GetLocal() const
186  {
187  return impl.Get()->GetLocal();
188  }
189 
200  void SetBufferSize(int32_t val)
201  {
202  impl.Get()->SetBufferSize(val);
203  }
204 
215  int32_t GetBufferSize() const
216  {
217  return impl.Get()->GetBufferSize();
218  }
219 
235  void SetTimeInterval(int64_t val)
236  {
237  impl.Get()->SetTimeInterval(val);
238  }
239 
255  int64_t GetTimeInterval() const
256  {
257  return impl.Get()->GetTimeInterval();
258  }
259 
268  {
269  impl.Get()->SetListener(lsnr);
270  }
271 
278  {
279  return impl.Get()->GetListener();
280  }
281 
288  {
289  return impl.Get()->GetListener();
290  }
291 
292  private:
294  common::concurrent::SharedPointer<impl::cache::query::continuous::ContinuousQueryImpl<K, V> > impl;
295  };
296  }
297  }
298  }
299 }
300 
301 #endif //_IGNITE_CACHE_QUERY_CONTINUOUS_CONTINUOUS_QUERY
ignite::cache::query::continuous::ContinuousQuery::SetBufferSize
void SetBufferSize(int32_t val)
Set buffer size.
Definition: continuous_query.h:200
cache_entry_event_listener.h
ignite::cache::query::continuous::ContinuousQuery::GetListener
event::CacheEntryEventListener< K, V > & GetListener()
Get cache entry event listener.
Definition: continuous_query.h:287
ignite::cache::query::continuous::ContinuousQuery::~ContinuousQuery
~ContinuousQuery()
Destructor.
Definition: continuous_query.h:76
ignite
Ignite API.
Definition: cache.h:47
ignite::cache::query::continuous::ContinuousQuery::GetListener
const event::CacheEntryEventListener< K, V > & GetListener() const
Get cache entry event listener.
Definition: continuous_query.h:277
java_cache_entry_event_filter.h
cache_entry_event_filter.h
ignite::cache::Cache
Main entry point for all Data Grid APIs.
Definition: cache.h:67
ignite::cache::query::continuous::ContinuousQuery::GetLocal
bool GetLocal() const
Get local flag.
Definition: continuous_query.h:185
ignite::cache::event::JavaCacheEntryEventFilter
Java cache entry event filter.
Definition: core/include/ignite/cache/event/java_cache_entry_event_filter.h:54
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr, bool loc)
Constructor.
Definition: continuous_query.h:100
ignite::cache::query::continuous::ContinuousQuery::SetLocal
void SetLocal(bool val)
Set local flag.
Definition: continuous_query.h:173
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr, const event::JavaCacheEntryEventFilter &remoteFilter, bool loc)
Constructor.
Definition: continuous_query.h:159
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr)
Constructor.
Definition: continuous_query.h:87
ignite::cache::query::continuous::ContinuousQuery::SetListener
void SetListener(Reference< event::CacheEntryEventListener< K, V > > lsnr)
Set cache entry event listener.
Definition: continuous_query.h:267
ignite::cache::query::continuous::ContinuousQuery
Continuous query.
Definition: continuous_query.h:58
ignite::cache::query::continuous::ContinuousQuery::GetTimeInterval
int64_t GetTimeInterval() const
Get time interval.
Definition: continuous_query.h:255
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr, const Reference< F > &remoteFilter)
Constructor.
Definition: continuous_query.h:114
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr, const event::JavaCacheEntryEventFilter &remoteFilter)
Constructor.
Definition: continuous_query.h:144
ignite::Reference
Reference class.
Definition: reference.h:34
ignite::cache::query::continuous::ContinuousQuery::SetTimeInterval
void SetTimeInterval(int64_t val)
Set time interval.
Definition: continuous_query.h:235
ignite::cache::event::CacheEntryEventListener
Cache entry event listener.
Definition: core/include/ignite/cache/event/cache_entry_event_listener.h:39
ignite::cache::query::continuous::ContinuousQuery::ContinuousQuery
ContinuousQuery(Reference< event::CacheEntryEventListener< K, V > > lsnr, const Reference< F > &remoteFilter, bool loc)
Constructor.
Definition: continuous_query.h:130
ignite::cache::query::continuous::ContinuousQuery::GetBufferSize
int32_t GetBufferSize() const
Get buffer size.
Definition: continuous_query.h:215