20#ifndef GEODE_ATTRIBUTESFACTORY_H_
21#define GEODE_ATTRIBUTESFACTORY_H_
28#include "CacheWriter.hpp"
30#include "ExceptionTypes.hpp"
32#include "PartitionResolver.hpp"
35#include "internal/chrono/duration.hpp"
36#include "internal/geode_globals.hpp"
195 const std::shared_ptr<CacheLoader>& cacheLoader);
203 const std::shared_ptr<CacheWriter>& cacheWriter);
211 const std::shared_ptr<CacheListener>& aListener);
220 const std::shared_ptr<PartitionResolver>& aResolver);
228 const std::string& factoryFuncName);
237 const std::string& factoryFuncName);
245 const std::string& factoryFuncName);
253 const std::string& libpath,
const std::string& factoryFuncName);
281 std::chrono::seconds timeToLive);
307 std::chrono::seconds timeToLive);
319 const std::string& libpath,
const std::string& factoryFuncName,
320 const std::shared_ptr<Properties>& config =
nullptr);
329 const std::shared_ptr<PersistenceManager>& persistenceManager,
330 const std::shared_ptr<Properties>& config =
nullptr);
428 bool concurrencyChecksEnabled);
DiskPolicyType
DiskPolicyType.hpp Enumerated type for disk policy.
Definition DiskPolicyType.hpp:42
ExpirationAction
ExpirationAction.hpp Enumerated type for expiration actions.
Definition ExpirationAction.hpp:42
Defines attributes for configuring a region.
Definition RegionAttributes.hpp:77
Creates instances of RegionAttributes.
Definition RegionAttributesFactory.hpp:156
RegionAttributes create()
Creates a RegionAttributes with the current settings.
RegionAttributesFactory & setCacheWriter(const std::string &libpath, const std::string &factoryFuncName)
Sets the library path for the library that will be invoked for the writer of the region.
RegionAttributesFactory & setEntryTimeToLive(ExpirationAction action, std::chrono::seconds timeToLive)
Sets the timeToLive expiration attributes for region entries for the next RegionAttributes created.
RegionAttributesFactory & setDiskPolicy(const DiskPolicyType diskPolicy)
Sets the Disk policy type for the next RegionAttributes created.
RegionAttributesFactory & setCacheListener(const std::string &libpath, const std::string &factoryFuncName)
Sets the library path for the library that will be invoked for the listener of the region.
RegionAttributesFactory & setLoadFactor(float loadFactor)
Sets the entry load factor for the next RegionAttributes created.
RegionAttributesFactory & setCacheWriter(const std::shared_ptr< CacheWriter > &cacheWriter)
Sets the cache writer for the next RegionAttributes created.
RegionAttributesFactory & setPartitionResolver(const std::string &libpath, const std::string &factoryFuncName)
Sets the library path for the library that will be invoked for the partition resolver of the region.
RegionAttributesFactory(const RegionAttributes regionAttributes)
Creates a new instance of RegionAttributesFactory ready to create a RegionAttributes with the same se...
RegionAttributesFactory & setInitialCapacity(int32_t initialCapacity)
Sets the entry initial capacity for the next RegionAttributes created.
RegionAttributesFactory & setPersistenceManager(const std::string &libpath, const std::string &factoryFuncName, const std::shared_ptr< Properties > &config=nullptr)
Sets the library path for the library that will be invoked for the persistence of the region.
RegionAttributesFactory & setConcurrencyLevel(uint8_t concurrencyLevel)
Sets the concurrency level tof the next RegionAttributes created.
RegionAttributesFactory & setCacheLoader(const std::string &libpath, const std::string &factoryFuncName)
Sets the library path for the library that will be invoked for the loader of the region.
RegionAttributesFactory & setCloningEnabled(bool isClonable)
Sets cloning on region.
RegionAttributesFactory()
public methods
RegionAttributesFactory & setPartitionResolver(const std::shared_ptr< PartitionResolver > &aResolver)
Sets the PartitionResolver for the next RegionAttributes created.
RegionAttributesFactory & setConcurrencyChecksEnabled(bool concurrencyChecksEnabled)
Enables or disables concurrent modification checks.
RegionAttributesFactory & setCacheLoader(const std::shared_ptr< CacheLoader > &cacheLoader)
Sets the cache loader for the next RegionAttributes created.
RegionAttributesFactory & setCacheListener(const std::shared_ptr< CacheListener > &aListener)
Sets the CacheListener for the next RegionAttributes created.
virtual ~RegionAttributesFactory()
destructor
RegionAttributesFactory & setLruEntriesLimit(const uint32_t entriesLimit)
Sets a limit on the number of entries that will be held in the cache.
RegionAttributesFactory & setRegionIdleTimeout(ExpirationAction action, std::chrono::seconds idleTimeout)
Sets the idleTimeout expiration attributes for the region itself for the next RegionAttributes create...
RegionAttributesFactory & setPoolName(const std::string &name)
Sets the pool name attribute.
RegionAttributesFactory & setPersistenceManager(const std::shared_ptr< PersistenceManager > &persistenceManager, const std::shared_ptr< Properties > &config=nullptr)
Sets the PersistenceManager for the next RegionAttributes created.
RegionAttributesFactory & setCachingEnabled(bool cachingEnabled)
Set caching enabled flag for this region.
RegionAttributesFactory & setRegionTimeToLive(ExpirationAction action, std::chrono::seconds timeToLive)
Sets the timeToLive expiration attributes for the region itself for the next RegionAttributes created...
RegionAttributesFactory & setEntryIdleTimeout(ExpirationAction action, std::chrono::seconds idleTimeout)
Sets the idleTimeout expiration attributes for region entries for the next RegionAttributes created.