/export/loot1/users/build/gfcppsancout/product/include/gfcpp/Pool.hpp

Go to the documentation of this file.
00001 #ifndef __GEMFIRE_POOL_HPP__
00002 #define __GEMFIRE_POOL_HPP__
00003 /*=========================================================================
00004  * (c) Copyright 2002-2006, GemStone Systems, Inc. All Rights Reserved.
00005  * 1260 NW Waterhouse Ave., Suite 200,  Beaverton, OR 97006
00006  *========================================================================
00007  */
00008 
00009 #include "gfcpp_globals.hpp"
00010 #include "SharedBase.hpp"
00011 #include "gf_types.hpp"
00012 #include "CacheableBuiltins.hpp"
00013 #include "Cache.hpp"
00014 #include "CacheFactory.hpp"
00019 namespace gemfire
00020 {
00021 class Cache;
00022 class CacheFactory;
00023 class PoolAttributes;
00036 class CPPCACHE_EXPORT Pool: public SharedBase {
00037 public:
00044   virtual const char* getName()const = 0;
00045 
00050   int getFreeConnectionTimeout()const;
00055   int getLoadConditioningInterval()const;
00060   int getSocketBufferSize()const;
00065   int getReadTimeout()const;
00070   int getMinConnections()const;
00075   int getMaxConnections()const;
00080   long getIdleTimeout()const;
00085   long getPingInterval()const;
00090   int getStatisticInterval()const;
00095   int getRetryAttempts()const;
00100   bool getSubscriptionEnabled()const;
00105   int getSubscriptionRedundancy()const;
00110   int getSubscriptionMessageTrackingTimeout()const;
00115   int getSubscriptionAckInterval()const;
00116 
00121   const char* getServerGroup()const;
00122   
00127   bool getThreadLocalConnections() const;
00128 
00133   bool getMultiuserAuthentication() const; 
00134 
00139   bool getPRSingleHopEnabled() const;
00140 
00149   virtual void releaseThreadLocalConnection() = 0;
00150 
00158   virtual const CacheableStringArrayPtr getLocators()const = 0;
00159 
00166   virtual const CacheableStringArrayPtr getServers() = 0;
00167 
00176   virtual void destroy(bool keepAlive = false) = 0;
00177 
00184   virtual bool isDestroyed()const = 0;
00185 
00186   
00198   virtual QueryServicePtr getQueryService() = 0;
00199 
00200   virtual ~Pool();    
00201 
00202 protected:
00203   Pool(PoolAttributesPtr attr);
00204   PoolAttributesPtr m_attrs;
00205 
00206 private:
00215   virtual RegionServicePtr createSecureUserCache(PropertiesPtr credentials);
00216 
00217   Pool(const Pool&);
00218 
00219   friend class PoolFactory;
00220   friend class CacheFactory;
00221   friend class Cache;
00222 };
00223 } //namespace gemfire
00224 
00225 #endif //ifndef __GEMFIRE_POOL_HPP__

GemFire C++ Cache API Documentation