3 #ifndef GEODE_REGIONATTRIBUTES_H_ 4 #define GEODE_REGIONATTRIBUTES_H_ 27 #include "geode_globals.hpp" 30 #include "ExpirationAttributes.hpp" 33 #include "PartitionResolver.hpp" 67 class AttributesFactory;
68 class AttributesMutator;
110 int getRegionTimeToLive();
117 int getRegionIdleTimeout();
124 int getEntryTimeToLive();
131 int getEntryIdleTimeout();
145 int getInitialCapacity()
const;
150 float getLoadFactor()
const;
156 uint8_t getConcurrencyLevel()
const;
162 uint32_t getLruEntriesLimit()
const;
180 const char* getPoolName()
const;
197 virtual int32_t classId()
const;
200 virtual int8_t typeId()
const;
209 const char* getCacheLoaderLibrary();
215 const char* getCacheLoaderFactory();
221 const char* getCacheListenerLibrary();
227 const char* getCacheListenerFactory();
233 const char* getCacheWriterLibrary();
239 const char* getCacheWriterFactory();
245 const char* getPartitionResolverLibrary();
251 const char* getPartitionResolverFactory();
264 void validateSerializableAttributes();
269 const char* getEndpoints();
274 bool getClientNotificationEnabled()
const;
280 const char* getPersistenceLibrary();
286 const char* getPersistenceFactory();
307 bool getCloningEnabled() {
return m_isClonable; }
320 static int32_t compareStringAttribute(
char* attributeA,
char* attributeB);
324 static void copyStringAttribute(
char*& lhs,
const char* rhs);
326 void setCacheListener(
const char* libpath,
const char* factoryFuncName);
327 void setCacheLoader(
const char* libpath,
const char* factoryFuncName);
328 void setCacheWriter(
const char* libpath,
const char* factoryFuncName);
329 void setPartitionResolver(
const char* libpath,
const char* factoryFuncName);
330 void setPersistenceManager(
const char* lib,
const char* func,
332 void setEndpoints(
const char* endpoints);
333 void setPoolName(
const char* poolName);
334 void setCloningEnabled(
bool isClonable);
335 void setCachingEnabled(
bool enable);
336 void setLruEntriesLimit(
int limit);
338 void setConcurrencyChecksEnabled(
bool enable);
339 inline bool getEntryExpiryEnabled()
const {
340 return (m_entryTimeToLive != 0 || m_entryIdleTimeout != 0);
343 inline bool getRegionExpiryEnabled()
const {
344 return (m_regionTimeToLive != 0 || m_regionIdleTimeout != 0);
360 uint32_t m_lruEntriesLimit;
362 uint32_t m_maxValueDistLimit;
363 uint32_t m_entryIdleTimeout;
364 uint32_t m_entryTimeToLive;
365 uint32_t m_regionIdleTimeout;
366 uint32_t m_regionTimeToLive;
367 uint32_t m_initialCapacity;
369 uint8_t m_concurrencyLevel;
370 char* m_cacheLoaderLibrary;
371 char* m_cacheWriterLibrary;
372 char* m_cacheListenerLibrary;
373 char* m_partitionResolverLibrary;
374 char* m_cacheLoaderFactory;
375 char* m_cacheWriterFactory;
376 char* m_cacheListenerFactory;
377 char* m_partitionResolverFactory;
380 bool m_clientNotificationEnabled;
381 char* m_persistenceLibrary;
382 char* m_persistenceFactory;
387 bool m_isConcurrencyChecksEnabled;
391 friend class CacheImpl;
393 friend class RegionInternal;
394 friend class RegionXmlCreation;
403 #endif // GEODE_REGIONATTRIBUTES_H_ bool getCachingEnabled() const
If true, this region will store data in the current process.
Definition: RegionAttributes.hpp:138
PolicyType
Values for setting PolicyType.
Definition: DiskPolicyType.hpp:43
Creates instances of RegionAttributes.
Definition: AttributesFactory.hpp:152
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
Defines attributes for configuring a region.
Definition: RegionAttributes.hpp:72
const char * getPoolName()
TODO Returns the name of the Pool that this region will use to communicate with servers, if any.
Definition: RegionAttributes.hpp:306
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
Provide operations for writing primitive data values, byte arrays, strings, Serializable objects to a...
Definition: DataOutput.hpp:74
virtual uint32_t objectSize() const
return the size in bytes of the instance being serialized.
Definition: RegionAttributes.hpp:203
bool getConcurrencyChecksEnabled()
Returns true if concurrent update checks are turned on for this region.
Definition: RegionAttributes.hpp:314
This abstract base class is the superclass of all user objects in the cache that can be serialized...
Definition: Serializable.hpp:53
Action
Definition: ExpirationAction.hpp:43
Provide operations for reading primitive data values, byte arrays, strings, Serializable objects from...
Definition: DataInput.hpp:56
Supports modification of certain region attributes after the region has been created.
Definition: AttributesMutator.hpp:55
This class manages subregions and cached data.
Definition: Region.hpp:87
This namespace contains all the Geode C++ API classes, enumerations and globals.
Cache are obtained from create method on the CacheFactory#create class.
Definition: Cache.hpp:59