VMware GemFire Native C++ Reference  9.1
Pool.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef GEODE_POOL_H_
4 #define GEODE_POOL_H_
5 
6 /*
7  * Licensed to the Apache Software Foundation (ASF) under one or more
8  * contributor license agreements. See the NOTICE file distributed with
9  * this work for additional information regarding copyright ownership.
10  * The ASF licenses this file to You under the Apache License, Version 2.0
11  * (the "License"); you may not use this file except in compliance with
12  * the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 
23 #include "geode_globals.hpp"
24 #include "SharedBase.hpp"
25 #include "geode_types.hpp"
26 #include "CacheableBuiltins.hpp"
27 #include "Cache.hpp"
28 #include "CacheFactory.hpp"
33 namespace apache {
34 namespace geode {
35 namespace client {
36 class Cache;
37 class CacheFactory;
38 class PoolAttributes;
53  public:
60  virtual const char* getName() const = 0;
61 
66  int getFreeConnectionTimeout() const;
71  int getLoadConditioningInterval() const;
76  int getSocketBufferSize() const;
81  int getReadTimeout() const;
86  int getMinConnections() const;
91  int getMaxConnections() const;
96  long getIdleTimeout() const;
101  long getPingInterval() const;
106  long getUpdateLocatorListInterval() const;
111  int getStatisticInterval() const;
116  int getRetryAttempts() const;
122  bool getSubscriptionEnabled() const;
127  int getSubscriptionRedundancy() const;
132  int getSubscriptionMessageTrackingTimeout() const;
137  int getSubscriptionAckInterval() const;
138 
143  const char* getServerGroup() const;
144 
150  bool getThreadLocalConnections() const;
151 
157  bool getMultiuserAuthentication() const;
158 
163  bool getPRSingleHopEnabled() const;
164 
173  virtual void releaseThreadLocalConnection() = 0;
174 
183  virtual const CacheableStringArrayPtr getLocators() const = 0;
184 
192  virtual const CacheableStringArrayPtr getServers() = 0;
193 
202  virtual void destroy(bool keepAlive = false) = 0;
203 
210  virtual bool isDestroyed() const = 0;
211 
223  virtual QueryServicePtr getQueryService() = 0;
224 
225  virtual ~Pool();
226 
259  int getPendingEventCount() const;
260 
261  protected:
262  Pool(PoolAttributesPtr attr);
263  PoolAttributesPtr m_attrs;
264 
265  private:
276  virtual RegionServicePtr createSecureUserCache(PropertiesPtr credentials);
277 
278  Pool(const Pool&);
279 
280  friend class PoolFactory;
281  friend class CacheFactory;
282  friend class Cache;
283 };
284 } // namespace client
285 } // namespace geode
286 } // namespace apache
287 
288 #endif // GEODE_POOL_H_
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
A pool of connections to connect from a client to a set of Geode Cache Servers.
Definition: Pool.hpp:52
Top level class for configuring and using Geode on a client.This should be called once to create Cach...
Definition: CacheFactory.hpp:48
Contains generic template definitions for Cacheable types and instantiations for built-in types...
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:52
Template class for CacheableArrayType SharedPtr's that adds [] operator.
Definition: CacheableBuiltins.hpp:144
This abstract base class is the base class of all user objects that have the shared capability of ref...
Definition: SharedBase.hpp:40
This interface provides for the configuration and creation of instances of Pool.
Definition: PoolFactory.hpp:66
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

Pivotal GemFire C++ Cache API Documentation