20#ifndef GEODE_REGION_H_
21#define GEODE_REGION_H_
31#include "CacheWriter.hpp"
34#include "CacheableString.hpp"
35#include "ExceptionTypes.hpp"
36#include "PartitionResolver.hpp"
41#include "Serializable.hpp"
42#include "internal/geode_globals.hpp"
49class AttributesMutator;
53class RegionAttributes;
59static constexpr std::chrono::milliseconds DEFAULT_RESPONSE_TIMEOUT =
60 std::chrono::seconds(15);
95class APACHE_GEODE_EXPORT
Region :
public std::enable_shared_from_this<Region> {
100 virtual const std::string&
getName()
const = 0;
125 virtual std::shared_ptr<CacheStatistics> getStatistics()
const = 0;
144 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
166 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
205 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
214 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
223 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
245 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
249 virtual std::shared_ptr<Region>
getSubregion(
const std::string& path) = 0;
262 const bool recursive) = 0;
268 const std::shared_ptr<CacheableKey>& key) = 0;
271 template <
class KEYTYPE>
272 inline std::shared_ptr<RegionEntry>
getEntry(
const KEYTYPE& key) {
273 return getEntry(CacheableKey::create(key));
317 virtual std::shared_ptr<Cacheable>
get(
318 const std::shared_ptr<CacheableKey>& key,
319 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
322 template <
class KEYTYPE>
323 inline std::shared_ptr<Cacheable>
get(
325 const std::shared_ptr<Serializable>& callbackArg =
nullptr) {
326 return get(CacheableKey::create(key), callbackArg);
375 const std::shared_ptr<CacheableKey>& key,
376 const std::shared_ptr<Cacheable>& value,
377 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
380 template <
class KEYTYPE,
class VALUETYPE>
381 inline void put(
const KEYTYPE& key,
const VALUETYPE& value,
382 const std::shared_ptr<Serializable>& arg =
nullptr) {
383 put(CacheableKey::create(key), Serializable::create(value), arg);
387 template <
class KEYTYPE>
388 inline void put(
const KEYTYPE& key,
const std::shared_ptr<Cacheable>& value,
389 const std::shared_ptr<Serializable>& arg =
nullptr) {
390 put(CacheableKey::create(key), value, arg);
394 template <
class VALUETYPE>
395 inline void put(
const std::shared_ptr<CacheableKey>& key,
396 const VALUETYPE& value,
397 const std::shared_ptr<Serializable>& arg =
nullptr) {
398 put(key, Serializable::create(value), arg);
420 const HashMapOfCacheable& map,
421 std::chrono::milliseconds timeout = DEFAULT_RESPONSE_TIMEOUT,
422 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
449 const std::shared_ptr<CacheableKey>& key,
450 const std::shared_ptr<Cacheable>& value,
451 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
454 template <
class KEYTYPE,
class VALUETYPE>
455 inline void localPut(
const KEYTYPE& key,
const VALUETYPE& value,
456 const std::shared_ptr<Serializable>& arg =
nullptr) {
457 localPut(CacheableKey::create(key), Serializable::create(value), arg);
461 template <
class KEYTYPE>
463 const std::shared_ptr<Cacheable>& value,
464 const std::shared_ptr<Serializable>& arg =
nullptr) {
465 localPut(CacheableKey::create(key), value, arg);
469 template <
class VALUETYPE>
470 inline void localPut(
const std::shared_ptr<CacheableKey>& key,
471 const VALUETYPE& value,
472 const std::shared_ptr<Serializable>& arg =
nullptr) {
473 localPut(key, Serializable::create(value), arg);
523 const std::shared_ptr<CacheableKey>& key,
524 const std::shared_ptr<Cacheable>& value,
525 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
528 template <
class KEYTYPE,
class VALUETYPE>
529 inline void create(
const KEYTYPE& key,
const VALUETYPE& value,
530 const std::shared_ptr<Serializable>& arg =
nullptr) {
531 create(CacheableKey::create(key), Serializable::create(value), arg);
535 template <
class KEYTYPE>
537 const std::shared_ptr<Cacheable>& value,
538 const std::shared_ptr<Serializable>& arg =
nullptr) {
539 create(CacheableKey::create(key), value, arg);
543 template <
class VALUETYPE>
544 inline void create(
const std::shared_ptr<CacheableKey>& key,
545 const VALUETYPE& value,
546 const std::shared_ptr<Serializable>& arg =
nullptr) {
547 create(key, Serializable::create(value), arg);
576 const std::shared_ptr<CacheableKey>& key,
577 const std::shared_ptr<Cacheable>& value,
578 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
581 template <
class KEYTYPE,
class VALUETYPE>
582 inline void localCreate(
const KEYTYPE& key,
const VALUETYPE& value,
583 const std::shared_ptr<Serializable>& arg =
nullptr) {
584 localCreate(CacheableKey::create(key), Serializable::create(value), arg);
588 template <
class KEYTYPE>
590 const std::shared_ptr<Cacheable>& value,
591 const std::shared_ptr<Serializable>& arg =
nullptr) {
592 localCreate(CacheableKey::create(key), value, arg);
596 template <
class VALUETYPE>
598 const VALUETYPE& value,
599 const std::shared_ptr<Serializable>& arg =
nullptr) {
600 localCreate(key, Serializable::create(value), arg);
626 const std::shared_ptr<CacheableKey>& key,
627 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
630 template <
class KEYTYPE>
632 const std::shared_ptr<Serializable>& arg =
nullptr) {
633 invalidate(CacheableKey::create(key), arg);
657 const std::shared_ptr<CacheableKey>& key,
658 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
661 template <
class KEYTYPE>
663 const KEYTYPE& key,
const std::shared_ptr<Serializable>& arg =
nullptr) {
664 localInvalidate(CacheableKey::create(key), arg);
712 const std::shared_ptr<CacheableKey>& key,
713 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
716 template <
class KEYTYPE>
718 const std::shared_ptr<Serializable>& arg =
nullptr) {
719 destroy(CacheableKey::create(key), arg);
747 const std::shared_ptr<CacheableKey>& key,
748 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
751 template <
class KEYTYPE>
753 const std::shared_ptr<Serializable>& arg =
nullptr) {
754 localDestroy(CacheableKey::create(key), arg);
806 const std::shared_ptr<CacheableKey>& key,
807 const std::shared_ptr<Cacheable>& value,
808 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
811 template <
class KEYTYPE,
class VALUETYPE>
812 inline bool remove(
const KEYTYPE& key,
const VALUETYPE& value,
813 const std::shared_ptr<Serializable>& arg =
nullptr) {
814 return remove(CacheableKey::create(key), Serializable::create(value), arg);
818 template <
class KEYTYPE>
820 const std::shared_ptr<Cacheable>& value,
821 const std::shared_ptr<Serializable>& arg =
nullptr) {
822 return remove(CacheableKey::create(key), value, arg);
826 template <
class VALUETYPE>
827 inline bool remove(
const std::shared_ptr<CacheableKey>& key,
828 const VALUETYPE& value,
829 const std::shared_ptr<Serializable>& arg =
nullptr) {
830 return remove(key, Serializable::create(value), arg);
833 bool remove(
const std::shared_ptr<CacheableKey>& key) {
834 return removeEx(key);
838 template <
class KEYTYPE>
840 return remove(CacheableKey::create(key));
890 const std::shared_ptr<CacheableKey>& key,
891 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
894 template <
class KEYTYPE>
896 const std::shared_ptr<Serializable>& arg =
nullptr) {
897 return removeEx(CacheableKey::create(key), arg);
928 const std::shared_ptr<CacheableKey>& key,
929 const std::shared_ptr<Cacheable>& value,
930 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
933 template <
class KEYTYPE,
class VALUETYPE>
934 inline bool localRemove(
const KEYTYPE& key,
const VALUETYPE& value,
935 const std::shared_ptr<Serializable>& arg =
nullptr) {
936 return localRemove(CacheableKey::create(key), Serializable::create(value),
941 template <
class KEYTYPE>
943 const std::shared_ptr<Cacheable>& value,
944 const std::shared_ptr<Serializable>& arg =
nullptr) {
945 return localRemove(CacheableKey::create(key), value, arg);
949 template <
class VALUETYPE>
951 const VALUETYPE& value,
952 const std::shared_ptr<Serializable>& arg =
nullptr) {
953 return localRemove(key, Serializable::create(value), arg);
983 const std::shared_ptr<CacheableKey>& key,
984 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
987 template <
class KEYTYPE>
989 const KEYTYPE& key,
const std::shared_ptr<Serializable>& arg =
nullptr) {
990 return localRemoveEx(CacheableKey::create(key), arg);
997 virtual std::vector<std::shared_ptr<CacheableKey>>
keys() = 0;
1024 virtual std::vector<std::shared_ptr<CacheableKey>>
serverKeys() = 0;
1030 virtual std::vector<std::shared_ptr<Cacheable>>
values() = 0;
1032 virtual std::vector<std::shared_ptr<RegionEntry>> entries(
bool recursive) = 0;
1040 virtual bool isDestroyed()
const = 0;
1048 const std::shared_ptr<CacheableKey>& keyPtr)
const = 0;
1056 template <
class KEYTYPE>
1058 return containsValueForKey(CacheableKey::create(key));
1067 const std::shared_ptr<CacheableKey>& keyPtr)
const = 0;
1075 const std::shared_ptr<CacheableKey>& keyPtr)
const = 0;
1098 template <
class KEYTYPE>
1100 return containsKey(CacheableKey::create(key));
1136 const std::vector<std::shared_ptr<CacheableKey>>& keys,
1137 bool isDurable =
false,
bool getInitialValues =
false,
1138 bool receiveValues =
true) = 0;
1163 const std::vector<std::shared_ptr<CacheableKey>>& keys) = 0;
1195 bool getInitialValues =
false,
1196 bool receiveValues =
true) = 0;
1257 bool getInitialValues =
false,
1258 bool receiveValues =
true) = 0;
1329 const std::vector<std::shared_ptr<CacheableKey>>& keys,
1330 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
1358 virtual std::shared_ptr<SelectResults>
query(
1359 const std::string& predicate,
1360 std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;
1383 const std::string& predicate,
1384 std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;
1409 const std::string& predicate,
1410 std::chrono::milliseconds timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT) = 0;
1440 const std::vector<std::shared_ptr<CacheableKey>>& keys,
1441 const std::shared_ptr<Serializable>& aCallbackArgument =
nullptr) = 0;
1449 virtual const std::shared_ptr<Pool>& getPool()
const = 0;
1457 explicit Region(CacheImpl* cacheImpl);
1460 CacheImpl* m_cacheImpl;
Contains generic template definitions for Cacheable types and instantiations for built-in types.
Caches are obtained from the create method on the CacheFactory#create class.
Definition Cache.hpp:65
This class manages subregions and cached data.
Definition Region.hpp:95
virtual std::shared_ptr< SelectResults > query(const std::string &predicate, std::chrono::milliseconds timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
Executes the query on the server based on the predicate.
virtual std::vector< std::shared_ptr< CacheableKey > > keys()=0
Return all the keys in the local process for this region.
virtual void destroyRegion(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in ...
virtual bool containsKeyOnServer(const std::shared_ptr< CacheableKey > &keyPtr) const =0
The cache of the server, to which it is connected with, is searched for the key to see if the key is ...
virtual std::vector< std::shared_ptr< CacheableString > > getInterestListRegex() const =0
Returns the list of regular expresssions on which this client is interested and will be notified of c...
void localCreate(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:582
virtual void destroy(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Destroys the entry with the specified key, and provides a user-defined parameter object to any CacheW...
virtual const RegionAttributes & getAttributes() const =0
Return the RegionAttributes for this region.
void localInvalidate(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:662
virtual RegionService & getRegionService() const =0
Returns the cache associated with this region.
virtual std::shared_ptr< RegionEntry > getEntry(const std::shared_ptr< CacheableKey > &key)=0
Return the meta-object RegionEntry for key.
void destroy(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:717
virtual void unregisterAllKeys()=0
Registers to get updates for all keys from the server.
virtual const std::string & getName() const =0
Public Methods.
virtual bool existsValue(const std::string &predicate, std::chrono::milliseconds timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
Executes the query on the server based on the predicate and returns whether any result exists.
virtual void localClear(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes all entries from this region and provides a user-defined parameter object to any CacheWriter ...
virtual void clear(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes all entries from this region and provides a user-defined parameter object to any CacheWriter ...
virtual const std::string & getFullPath() const =0
return the full path of the region as can be used to lookup the region from Cache::getRegion.
void localDestroy(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:752
virtual void localPut(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Places a new value into an entry in this region with the specified key in the local cache only,...
std::shared_ptr< Cacheable > get(const KEYTYPE &key, const std::shared_ptr< Serializable > &callbackArg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:323
bool localRemoveEx(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:988
bool remove(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:827
virtual bool localRemove(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes the entry with the specified key and value in the local cache only, and provides a user-defin...
bool localRemove(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:934
bool containsKey(const KEYTYPE &key) const
Convenience method allowing key to be a const char* This operations checks for the key in the local c...
Definition Region.hpp:1099
void create(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:529
virtual std::shared_ptr< Serializable > selectValue(const std::string &predicate, std::chrono::milliseconds timeout=DEFAULT_QUERY_RESPONSE_TIMEOUT)=0
Executes the query on the server based on the predicate and returns a single result value.
bool containsValueForKey(const KEYTYPE &key) const
Convenience method allowing key to be a const char* This operations checks for the value in the local...
Definition Region.hpp:1057
void localCreate(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:597
virtual void removeAll(const std::vector< std::shared_ptr< CacheableKey > > &keys, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes all of the entries for the specified keys from this region.
void localPut(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:470
void put(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:395
virtual void put(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Places a new value into an entry in this region with the specified key, providing a user-defined para...
void create(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:544
virtual bool containsKey(const std::shared_ptr< CacheableKey > &keyPtr) const =0
Only the client's cache is searched for the key.
bool removeEx(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:895
virtual void localDestroyRegion(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in ...
void localPut(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:455
virtual void invalidateRegion(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Invalidates this region.
virtual void unregisterKeys(const std::vector< std::shared_ptr< CacheableKey > > &keys)=0
Unregisters an array of keys to stop getting updates for them.
void put(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:381
void localPut(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:462
void localCreate(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:589
virtual bool localRemoveEx(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes the entry with the specified key in the local cache only, and provides a user-defined paramet...
bool remove(const KEYTYPE &key)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:839
virtual void registerAllKeys(bool isDurable=false, bool getInitialValues=false, bool receiveValues=true)=0
Registers to get updates for all keys from the server.
virtual std::vector< std::shared_ptr< CacheableKey > > serverKeys()=0
Return the set of keys defined in the server process associated to this client and region.
virtual void registerKeys(const std::vector< std::shared_ptr< CacheableKey > > &keys, bool isDurable=false, bool getInitialValues=false, bool receiveValues=true)=0
Registers an array of keys for getting updates from the server.
virtual void create(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Creates a new entry in this region with the specified key and value, providing a user-defined paramet...
virtual void localInvalidateRegion(const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Invalidates this region.
void invalidate(const KEYTYPE &key, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:631
virtual bool removeEx(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes the entry with the specified key and provides a user-defined parameter object to any CacheWri...
virtual bool remove(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Removes the entry with the specified key, value and provides a user-defined parameter object to any C...
virtual std::vector< std::shared_ptr< Cacheable > > values()=0
Return all values in the local process for this region.
virtual uint32_t size()=0
Get the size of region.
virtual std::shared_ptr< Region > getSubregion(const std::string &path)=0
Returns the subregion identified by the path, nullptr if no such subregion.
virtual void invalidate(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Invalidates the entry with the specified key, and provides a user-defined argument to the CacheListen...
virtual std::shared_ptr< Cacheable > get(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Returns the value associated with the specified key, passing the callback argument to any cache loade...
bool localRemove(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:942
virtual void localCreate(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Creates a new entry in this region with the specified key and value in the local cache only,...
virtual std::shared_ptr< Region > createSubregion(const std::string &subregionName, RegionAttributes aRegionAttributes)=0
Creates a subregion with the specified attributes.
virtual HashMapOfCacheable getAll(const std::vector< std::shared_ptr< CacheableKey > > &keys, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Gets values for an array of keys from the local cache or server.
virtual void registerRegex(const std::string ®ex, bool isDurable=false, bool getInitialValues=false, bool receiveValues=true)=0
Registers a regular expression to match with keys to get updates from the server.
bool remove(const KEYTYPE &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing both key and value to be a const char*.
Definition Region.hpp:812
virtual std::vector< std::shared_ptr< Region > > subregions(const bool recursive)=0
Populates the passed in std::vector<std::shared_ptr<Region>> with subregions of the current region.
virtual void putAll(const HashMapOfCacheable &map, std::chrono::milliseconds timeout=DEFAULT_RESPONSE_TIMEOUT, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Places a set of new values in this region with the specified keys given as a map of key/value pairs.
virtual std::vector< std::shared_ptr< CacheableKey > > getInterestList() const =0
Returns the list of keys on which this client is interested and will be notified of changes.
void create(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:536
virtual std::shared_ptr< Region > getParentRegion() const =0
Returns the parent region, or nullptr if a root region.
std::shared_ptr< RegionEntry > getEntry(const KEYTYPE &key)
Convenience method allowing key to be a const char*.
Definition Region.hpp:272
bool remove(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:819
virtual void localDestroy(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Destroys the entry with the specified key in the local cache only, and provides a user-defined parame...
virtual std::shared_ptr< AttributesMutator > getAttributesMutator() const =0
Return the a mutator object for changing a subset of the region attributes.
virtual void unregisterRegex(const std::string ®ex)=0
Unregisters a regular expression to stop getting updates for keys from the server.
virtual void localInvalidate(const std::shared_ptr< CacheableKey > &key, const std::shared_ptr< Serializable > &aCallbackArgument=nullptr)=0
Invalidates the entry with the specified key in the local cache only, and provides a user-defined arg...
void put(const KEYTYPE &key, const std::shared_ptr< Cacheable > &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing key to be a const char*.
Definition Region.hpp:388
virtual bool containsValueForKey(const std::shared_ptr< CacheableKey > &keyPtr) const =0
This operations checks for the value in the local cache .
bool localRemove(const std::shared_ptr< CacheableKey > &key, const VALUETYPE &value, const std::shared_ptr< Serializable > &arg=nullptr)
Convenience method allowing value to be a const char*.
Definition Region.hpp:950
Defines attributes for configuring a region.
Definition RegionAttributes.hpp:77
A RegionService provides access to existing regions that exist in a Geode cache.
Definition RegionService.hpp:58