build-artifacts/win/product/include/gfcpp/Pool.hpp

Go to the documentation of this file.
00001 #ifndef __GEMFIRE_POOL_HPP__
00002 #define __GEMFIRE_POOL_HPP__
00003 /*=========================================================================
00004  * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
00005  * This product is protected by U.S. and international copyright
00006  * and intellectual property laws. Pivotal products are covered by
00007  * more patents listed at http://www.pivotal.io/patents.
00008  *========================================================================
00009  */
00010 
00011 #include "gfcpp_globals.hpp"
00012 #include "SharedBase.hpp"
00013 #include "gf_types.hpp"
00014 #include "CacheableBuiltins.hpp"
00015 #include "Cache.hpp"
00016 #include "CacheFactory.hpp"
00021 namespace gemfire
00022 {
00023 class Cache;
00024 class CacheFactory;
00025 class PoolAttributes;
00038 class CPPCACHE_EXPORT Pool: public SharedBase {
00039 public:
00046   virtual const char* getName()const = 0;
00047 
00052   int getFreeConnectionTimeout()const;
00057   int getLoadConditioningInterval()const;
00062   int getSocketBufferSize()const;
00067   int getReadTimeout()const;
00072   int getMinConnections()const;
00077   int getMaxConnections()const;
00082   long getIdleTimeout()const;
00087   long getPingInterval()const;
00092   long getUpdateLocatorListInterval()const;
00097   int getStatisticInterval()const;
00102   int getRetryAttempts()const;
00107   bool getSubscriptionEnabled()const;
00112   int getSubscriptionRedundancy()const;
00117   int getSubscriptionMessageTrackingTimeout()const;
00122   int getSubscriptionAckInterval()const;
00123 
00128   const char* getServerGroup()const;
00129   
00134   bool getThreadLocalConnections() const;
00135 
00140   bool getMultiuserAuthentication() const; 
00141 
00146   bool getPRSingleHopEnabled() const;
00147 
00156   virtual void releaseThreadLocalConnection() = 0;
00157 
00165   virtual const CacheableStringArrayPtr getLocators()const = 0;
00166 
00173   virtual const CacheableStringArrayPtr getServers() = 0;
00174 
00183   virtual void destroy(bool keepAlive = false) = 0;
00184 
00191   virtual bool isDestroyed()const = 0;
00192 
00193   
00205   virtual QueryServicePtr getQueryService() = 0;
00206 
00207   virtual ~Pool(); 
00208 
00241   int getPendingEventCount() const;
00242 
00243 protected:
00244   Pool(PoolAttributesPtr attr);
00245   PoolAttributesPtr m_attrs;
00246 
00247 private:
00256   virtual RegionServicePtr createSecureUserCache(PropertiesPtr credentials);
00257 
00258   Pool(const Pool&);
00259 
00260   friend class PoolFactory;
00261   friend class CacheFactory;
00262   friend class Cache;
00263 };
00264 } //namespace gemfire
00265 
00266 #endif //ifndef __GEMFIRE_POOL_HPP__

GemFire C++ Cache API Documentation