http://git-wip-us.apache.org/repos/asf/geode/blob/fc9f1f6f/src/clicache/src/Pool.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/Pool.hpp b/src/clicache/src/Pool.hpp index 9e27a44..38d2d8d 100644 --- a/src/clicache/src/Pool.hpp +++ b/src/clicache/src/Pool.hpp @@ -43,291 +43,291 @@ namespace Apache /// A pool of connections. /// </summary> /// <remarks> - /// A pool of connections from a GemFire client to a set of GemFire servers. + /// A pool of connections from a Geode client to a set of Geode servers. /// </remarks> - // generic<class TKey, class TValue> + // generic<class TKey, class TValue> public ref class Pool sealed - : public Client::Internal::SBWrap<apache::geode::client::Pool> + : public Client::Internal::SBWrap<apache::geode::client::Pool> { public: - /// <summary> - /// Get the name of the pool - /// </summary> - property String^ Name - { - String^ get( ); - } - - /// <summary> - /// Returns the connection timeout of this pool. - /// </summary> - property Int32 FreeConnectionTimeout - { - Int32 get( ); - } - - /// <summary> - /// Returns the load conditioning interval of this pool. - /// </summary> - property Int32 LoadConditioningInterval - { - Int32 get( ); - } - - /// <summary> - /// Returns the socket buffer size of this pool. - /// </summary> - property Int32 SocketBufferSize - { - Int32 get( ); - } - - /// <summary> - /// Returns the read timeout of this pool. - /// </summary> - property Int32 ReadTimeout - { - Int32 get( ); - } - - /// <summary> - /// Get the minimum connections for this pool. - /// </summary> - property Int32 MinConnections - { - Int32 get( ); - } - - /// <summary> - /// Get the maximum connections for this pool. - /// </summary> - property Int32 MaxConnections - { - Int32 get( ); - } - - /// <summary> - /// Get the Idle connection timeout for this pool. - /// </summary> - property Int32 IdleTimeout - { - Int32 get( ); - } - - /// <summary> - /// Get the ping interval for this pool. - /// </summary> - property Int32 PingInterval - { - Int32 get( ); - } - - /// <summary> - /// Get the update locator list interval for this pool. - /// </summary> - property Int32 UpdateLocatorListInterval - { - Int32 get( ); - } - - /// <summary> - /// Get the statistic interval for this pool. - /// </summary> - property Int32 StatisticInterval - { - Int32 get( ); - } - - /// <summary> - /// Get the retry attempts for this pool. - /// </summary> - property Int32 RetryAttempts - { - Int32 get( ); - } - - /// <summary> - /// Returns the true if a server-to-client subscriptions are enabled on this pool. - /// </summary> - property Boolean SubscriptionEnabled - { - Boolean get( ); - } + /// <summary> + /// Get the name of the pool + /// </summary> + property String^ Name + { + String^ get(); + } /// <summary> - /// Returns the true if a pr-single-hop is set to true on this pool. - /// </summary> - property Boolean PRSingleHopEnabled - { - Boolean get( ); - } - - /// <summary> - /// Returns the subscription redundancy level of this pool. - /// </summary> - property Int32 SubscriptionRedundancy - { - Int32 get( ); - } - - /// <summary> - /// Returns the subscription message tracking timeout of this pool. - /// </summary> - property Int32 SubscriptionMessageTrackingTimeout - { - Int32 get( ); - } - - /// <summary> - /// Returns the subscription ack interval of this pool. - /// </summary> - property Int32 SubscriptionAckInterval - { - Int32 get( ); - } - - /// <summary> - /// Returns the server group of this pool. - /// </summary> - property String^ ServerGroup - { - String^ get( ); - } - - /// <summary> - /// Returns an unmodifiable list of locators - /// this pool is using. Each locator is either one - /// added explicitly when the pool was created or - /// were discovered using the explicit locators. - /// </summary> - /// <remarks> - /// If a pool has no locators then it can not discover servers or locators at runtime. - /// </remarks> - property array< String^ >^ Locators - { - array< String^ >^ get( ); - } - - /// <summary> - /// Returns an unmodifiable list of - /// servers this pool is using. These servers were added - /// explicitly when the pool was created. - property array< String^ >^ Servers - { - array< String^ >^ get( ); - } - - /// <summary> - /// Returns the true if ThreadLocalConnections are enabled on this pool. - /// </summary> - property Boolean ThreadLocalConnections - { - Boolean get( ); - } - - /// <summary> - /// Returns <code>true</code> if multiuser authentication is enabled on this pool. - /// <summary> - property bool MultiuserAuthentication - { - bool get( ); - } - /// <summary> - /// Destroys this pool closing any connections it produced. - /// </summary> - /// <param name="keepAlive"> - /// whether the server should keep the durable client's - /// subscriptions alive for the timeout period - /// </param> - /// <exception cref="IllegalStateException"> - /// if the pool is still in use - /// </exception> - void Destroy( Boolean keepAlive ); - - /// <summary> - /// Destroys this pool closing any connections it produced. - /// </summary> - /// <exception cref="IllegalStateException"> - /// if the pool is still in use - /// </exception> - void Destroy( ); - - /// <summary> - /// Indicates whether this Pool has been - /// destroyed. - /// </summary> - property Boolean Destroyed - { - Boolean get( ); - } - - /// <summary> - /// Returns the QueryService for this Pool. - /// </summary> - /// <remarks> - /// The query operations performed using this QueryService will be executed - /// on the servers that are associated with this pool. - /// To perform Query operation on the local cache obtain the QueryService - /// instance from the Cache. - /// </remarks> - generic<class TKey, class TResult> - QueryService<TKey, TResult>^ GetQueryService(); - - void ReleaseThreadLocalConnection(); - - /// <summary> - /// Returns the approximate number of pending subscription events maintained at - /// server for this durable client pool at the time it (re)connected to the - /// server. Server would start dispatching these events to this durable client - /// pool when it receives {@link Cache#readyForEvents()} from it. - /// <p> - /// Durable clients can call this method on reconnect to assess the amount of - /// 'stale' data i.e. events accumulated at server while this client was away - /// and, importantly, before calling {@link Cache#readyForEvents()}. - /// <p> - /// Any number of invocations of this method during a single session will - /// return the same value. - /// <p> - /// It may return a zero value if there are no events pending at server for - /// this client pool. A negative value returned tells us that no queue was - /// available at server for this client pool. - /// <p> - /// A value -1 indicates that this client pool reconnected to server after its - /// 'durable-client-timeout' period elapsed and hence its subscription queue at - /// server was removed, possibly causing data loss. - /// <p> - /// A value -2 indicates that this client pool connected to server for the - /// first time. - /// - /// @return int The number of subscription events maintained at server for this - /// durable client pool at the time this pool (re)connected. A negative - /// value indicates no queue was found for this client pool. - /// @throws IllegalStateException - /// If called by a non-durable client or if invoked any time after - /// invocation of {@link Cache#readyForEvents()}. - /// @since 8.1 - /// - /// </summary> - property Int32 PendingEventCount - { - Int32 get( ); - } + /// Returns the connection timeout of this pool. + /// </summary> + property Int32 FreeConnectionTimeout + { + Int32 get(); + } - internal: - /// <summary> - /// Internal factory function to wrap a native object pointer inside - /// this managed class with null pointer check. - /// </summary> - /// <param name="nativeptr">The native object pointer</param> - /// <returns> - /// The managed wrapper object; null if the native pointer is null. - /// </returns> - inline static Pool^ Create( apache::geode::client::Pool* nativeptr ) - { - return ( nativeptr != nullptr ? - gcnew Pool( nativeptr ) : nullptr ); - } + /// <summary> + /// Returns the load conditioning interval of this pool. + /// </summary> + property Int32 LoadConditioningInterval + { + Int32 get(); + } + + /// <summary> + /// Returns the socket buffer size of this pool. + /// </summary> + property Int32 SocketBufferSize + { + Int32 get(); + } + + /// <summary> + /// Returns the read timeout of this pool. + /// </summary> + property Int32 ReadTimeout + { + Int32 get(); + } + + /// <summary> + /// Get the minimum connections for this pool. + /// </summary> + property Int32 MinConnections + { + Int32 get(); + } + + /// <summary> + /// Get the maximum connections for this pool. + /// </summary> + property Int32 MaxConnections + { + Int32 get(); + } + + /// <summary> + /// Get the Idle connection timeout for this pool. + /// </summary> + property Int32 IdleTimeout + { + Int32 get(); + } + + /// <summary> + /// Get the ping interval for this pool. + /// </summary> + property Int32 PingInterval + { + Int32 get(); + } + + /// <summary> + /// Get the update locator list interval for this pool. + /// </summary> + property Int32 UpdateLocatorListInterval + { + Int32 get(); + } + + /// <summary> + /// Get the statistic interval for this pool. + /// </summary> + property Int32 StatisticInterval + { + Int32 get(); + } + + /// <summary> + /// Get the retry attempts for this pool. + /// </summary> + property Int32 RetryAttempts + { + Int32 get(); + } + + /// <summary> + /// Returns the true if a server-to-client subscriptions are enabled on this pool. + /// </summary> + property Boolean SubscriptionEnabled + { + Boolean get(); + } + + /// <summary> + /// Returns the true if a pr-single-hop is set to true on this pool. + /// </summary> + property Boolean PRSingleHopEnabled + { + Boolean get(); + } + + /// <summary> + /// Returns the subscription redundancy level of this pool. + /// </summary> + property Int32 SubscriptionRedundancy + { + Int32 get(); + } + + /// <summary> + /// Returns the subscription message tracking timeout of this pool. + /// </summary> + property Int32 SubscriptionMessageTrackingTimeout + { + Int32 get(); + } + + /// <summary> + /// Returns the subscription ack interval of this pool. + /// </summary> + property Int32 SubscriptionAckInterval + { + Int32 get(); + } + + /// <summary> + /// Returns the server group of this pool. + /// </summary> + property String^ ServerGroup + { + String^ get(); + } + + /// <summary> + /// Returns an unmodifiable list of locators + /// this pool is using. Each locator is either one + /// added explicitly when the pool was created or + /// were discovered using the explicit locators. + /// </summary> + /// <remarks> + /// If a pool has no locators then it can not discover servers or locators at runtime. + /// </remarks> + property array< String^ >^ Locators + { + array< String^ >^ get(); + } + + /// <summary> + /// Returns an unmodifiable list of + /// servers this pool is using. These servers were added + /// explicitly when the pool was created. + property array< String^ >^ Servers + { + array< String^ >^ get(); + } + + /// <summary> + /// Returns the true if ThreadLocalConnections are enabled on this pool. + /// </summary> + property Boolean ThreadLocalConnections + { + Boolean get(); + } + + /// <summary> + /// Returns <code>true</code> if multiuser authentication is enabled on this pool. + /// <summary> + property bool MultiuserAuthentication + { + bool get(); + } + /// <summary> + /// Destroys this pool closing any connections it produced. + /// </summary> + /// <param name="keepAlive"> + /// whether the server should keep the durable client's + /// subscriptions alive for the timeout period + /// </param> + /// <exception cref="IllegalStateException"> + /// if the pool is still in use + /// </exception> + void Destroy(Boolean keepAlive); + + /// <summary> + /// Destroys this pool closing any connections it produced. + /// </summary> + /// <exception cref="IllegalStateException"> + /// if the pool is still in use + /// </exception> + void Destroy(); + + /// <summary> + /// Indicates whether this Pool has been + /// destroyed. + /// </summary> + property Boolean Destroyed + { + Boolean get(); + } + + /// <summary> + /// Returns the QueryService for this Pool. + /// </summary> + /// <remarks> + /// The query operations performed using this QueryService will be executed + /// on the servers that are associated with this pool. + /// To perform Query operation on the local cache obtain the QueryService + /// instance from the Cache. + /// </remarks> + generic<class TKey, class TResult> + QueryService<TKey, TResult>^ GetQueryService(); + + void ReleaseThreadLocalConnection(); + + /// <summary> + /// Returns the approximate number of pending subscription events maintained at + /// server for this durable client pool at the time it (re)connected to the + /// server. Server would start dispatching these events to this durable client + /// pool when it receives {@link Cache#readyForEvents()} from it. + /// <p> + /// Durable clients can call this method on reconnect to assess the amount of + /// 'stale' data i.e. events accumulated at server while this client was away + /// and, importantly, before calling {@link Cache#readyForEvents()}. + /// <p> + /// Any number of invocations of this method during a single session will + /// return the same value. + /// <p> + /// It may return a zero value if there are no events pending at server for + /// this client pool. A negative value returned tells us that no queue was + /// available at server for this client pool. + /// <p> + /// A value -1 indicates that this client pool reconnected to server after its + /// 'durable-client-timeout' period elapsed and hence its subscription queue at + /// server was removed, possibly causing data loss. + /// <p> + /// A value -2 indicates that this client pool connected to server for the + /// first time. + /// + /// @return int The number of subscription events maintained at server for this + /// durable client pool at the time this pool (re)connected. A negative + /// value indicates no queue was found for this client pool. + /// @throws IllegalStateException + /// If called by a non-durable client or if invoked any time after + /// invocation of {@link Cache#readyForEvents()}. + /// @since 8.1 + /// + /// </summary> + property Int32 PendingEventCount + { + Int32 get(); + } + + internal: + /// <summary> + /// Internal factory function to wrap a native object pointer inside + /// this managed class with null pointer check. + /// </summary> + /// <param name="nativeptr">The native object pointer</param> + /// <returns> + /// The managed wrapper object; null if the native pointer is null. + /// </returns> + inline static Pool^ Create(apache::geode::client::Pool* nativeptr) + { + return (nativeptr != nullptr ? + gcnew Pool(nativeptr) : nullptr); + } private: @@ -335,8 +335,8 @@ namespace Apache /// Private constructor to wrap a native object pointer /// </summary> /// <param name="nativeptr">The native object pointer</param> - inline Pool( apache::geode::client::Pool* nativeptr ) - : SBWrap( nativeptr ) { } + inline Pool(apache::geode::client::Pool* nativeptr) + : SBWrap(nativeptr) { } }; } // namespace Client } // namespace Geode
http://git-wip-us.apache.org/repos/asf/geode/blob/fc9f1f6f/src/clicache/src/PoolFactory.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/PoolFactory.hpp b/src/clicache/src/PoolFactory.hpp index 0fc829e..c9043b9 100644 --- a/src/clicache/src/PoolFactory.hpp +++ b/src/clicache/src/PoolFactory.hpp @@ -30,389 +30,389 @@ namespace Apache namespace Client { - // generic<class TKey, class TValue> + // generic<class TKey, class TValue> ref class Pool; /// <summary> /// This interface provides for the configuration and creation of instances of Pool. /// </summary> - // generic<class TKey, class TValue> + // generic<class TKey, class TValue> public ref class PoolFactory sealed : public Internal::SBWrap<apache::geode::client::PoolFactory> { public: - /// <summary> - /// Sets the free connection timeout for this pool. - /// </summary> - /// <remarks> - /// If the pool has a max connections setting, operations will block - /// if all of the connections are in use. The free connection timeout - /// specifies how long those operations will block waiting for - /// a free connection before receiving an AllConnectionsInUseException. - /// If max connections is not set this setting has no effect. - /// </remarks> - /// <param> - /// connectionTimeout the connection timeout in milliseconds - /// </param> - /// <exception> - /// IllegalArgumentException if connectionTimeout - /// is less than or equal to 0. - /// </exception> - PoolFactory^ SetFreeConnectionTimeout( Int32 connectionTimeout ); - - /// <summary> - /// Sets the load conditioning interval for this pool. - /// </summary> - /// <remarks> - /// This interval controls how frequently the pool will check to see if - /// a connection to a given server should be moved to a different - /// server to improve the load balance. - /// </remarks> - /// <param> - /// loadConditioningInterval the connection lifetime in milliseconds - /// A value of -1 disables load conditioning. - /// </param> - /// <exception> - /// throws IllegalArgumentException if connectionLifetime - /// is less than -1. - /// </exception> - PoolFactory^ SetLoadConditioningInterval( Int32 loadConditioningInterval ); - - /// <summary> - /// Sets the socket buffer size for each connection made in this pool. - /// </summary> - /// <remarks> - /// Large messages can be received and sent faster when this buffer is larger. - /// Larger buffers also optimize the rate at which servers can send events - /// for client subscriptions. - /// </remarks> - /// <param> - /// bufferSize the size of the socket buffers used for reading and - /// writing on each connection in this pool. - /// </param> - /// <exception> - /// throws IllegalArgumentException if bufferSize - /// is less than or equal to 0. - /// </exception> - PoolFactory^ SetSocketBufferSize( Int32 bufferSize ); - - /// <summary> - /// Sets the number of milliseconds to wait for a response from a server before - /// timing out the operation and trying another server (if any are available). - /// </summary> - /// <param> - /// timeout number of milliseconds to wait for a response from a server - /// </param> - /// <exception> - /// throws IllegalArgumentException if timeout - /// is less than or equal to 0. - /// </exception> - PoolFactory^ SetReadTimeout( Int32 timeout ); - - /// <summary> - /// Set the minimum number of connections to keep available at all times. - /// </summary> - /// <remarks> - /// When the pool is created, it will create this many connections. - /// If 0 then connections will not be made until an actual operation - /// is done that requires client-to-server communication. - /// </remarks> - /// <param> - /// minConnections the initial number of connections this pool will create. - /// </param> - /// <exception> - /// throws IllegalArgumentException if minConnections is less than 0. - /// </exception> - PoolFactory^ SetMinConnections( Int32 minConnections ); - - /// <summary> - /// Set the max number of client to server connections that the pool will create. - /// </summary> - /// <remarks> - /// If all of the connections are in use, an operation requiring a client to - /// server connection will block until a connection is available. - /// see setFreeConnectionTimeout(int) - /// </remarks> - /// <param> - /// maxConnections the maximum number of connections in the pool. - /// -1 indicates that there is no maximum number of connections. - /// </param> - /// <exception> - /// throws IllegalArgumentException if maxConnections is less than minConnections. - /// </exception> - PoolFactory^ SetMaxConnections( Int32 maxConnections ); - - /// <summary> - /// Set the amount of time a connection can be idle before expiring the connection. - /// </summary> - /// <remarks> - /// If the pool size is greater than the minimum specified, connections which have - /// been idle for longer than the idleTimeout will be closed. - /// </remarks> - /// <param> - /// idleTimeout The amount of time in milliseconds that an idle connection - /// should live before expiring. -1 indicates that connections should never expire. - /// </param> - /// <exception> - /// throws IllegalArgumentException if idleTimout is less than 0. - /// </exception> - PoolFactory^ SetIdleTimeout( Int32 idleTimeout ); - - /// <summary> - /// Set the number of times to retry a request after timeout/exception. - /// </summary> - /// <param> - /// retryAttempts The number of times to retry a request - /// after timeout/exception. -1 indicates that a request should be - /// tried against every available server before failing. - /// </param> - /// <exception> - /// throws IllegalArgumentException if idleTimout is less than 0. - /// </exception> - PoolFactory^ SetRetryAttempts( Int32 retryAttempts ); - - /// <summary> - /// Set how often to ping servers to verify that they are still alive. - /// </summary> - /// <remarks> - /// Each server will be sent a ping every pingInterval if there has not - /// been any other communication with the server. - /// These pings are used by the server to monitor the health of - /// the client. Make sure that the pingInterval is less than the - /// maximum time between pings allowed by the bridge server. - /// see in CacheServer: setMaximumTimeBetweenPings(int) - /// </remarks> - /// <param> - /// pingInterval The amount of time in milliseconds between pings. - /// </param> - /// <exception> - /// throws IllegalArgumentException if pingInterval is less than 0. - /// </exception> - PoolFactory^ SetPingInterval( Int32 pingInterval ); + /// <summary> + /// Sets the free connection timeout for this pool. + /// </summary> + /// <remarks> + /// If the pool has a max connections setting, operations will block + /// if all of the connections are in use. The free connection timeout + /// specifies how long those operations will block waiting for + /// a free connection before receiving an AllConnectionsInUseException. + /// If max connections is not set this setting has no effect. + /// </remarks> + /// <param> + /// connectionTimeout the connection timeout in milliseconds + /// </param> + /// <exception> + /// IllegalArgumentException if connectionTimeout + /// is less than or equal to 0. + /// </exception> + PoolFactory^ SetFreeConnectionTimeout(Int32 connectionTimeout); - /// <summary> - /// Set how often to update locator list from locator - /// </summary> - /// <param> - /// updateLocatorListInterval The amount of time in milliseconds between - /// updating locator list. If its set to 0 then client will not update - /// the locator list. - /// </param> - /// <returns> - /// a instance of <c>CacheFactory</c> - /// </returns> - PoolFactory^ SetUpdateLocatorListInterval( Int32 updateLocatorListInterval ); - - /// <summary> - /// Set how often to send client statistics to the server. - /// </summary> - /// <remarks> - /// Doing this allows gfmon to monitor clients. - /// A value of -1 disables the sending of client statistics - /// to the server. - /// </remarks> - /// <param> - /// statisticInterval The amount of time in milliseconds between - /// sends of client statistics to the server. - /// </param> - /// <exception> - /// throws IllegalArgumentException if statisticInterval - /// is less than -1. - /// </exception> - PoolFactory^ SetStatisticInterval( Int32 statisticInterval); - - /// <summary> - /// Configures the group that all servers this pool connects to must belong to. - /// </summary> - /// <param> - /// group the server group that this pool will connect to. - /// If null or "" then all servers will be connected to. - /// </param> - PoolFactory^ SetServerGroup( String^ group ); - - /// <summary> - /// Add a locator, given its host and port, to this factory. - /// </summary> - /// <remarks> - /// The locator must be a server locator and will be used to discover other running - /// bridge servers and locators. - /// </remarks> - /// <param> - /// host the host name or ip address that the locator is listening on. - /// </param> - /// <param> - /// port the port that the locator is listening on - /// </param> - /// <exception> - /// throws IllegalArgumentException if host is an unknown host - /// or if port is outside the valid range of [1..65535] inclusive. - /// </exception> - /// <exception> - /// throws IllegalStateException if a locator has already been added to this factory. - /// </exception> - PoolFactory^ AddLocator( String^ host, Int32 port ); - - /// <summary> - /// Add a server, given its host and port, to this factory. - /// </summary> - /// <remarks> - /// The server must be a bridge server and this client will - /// directly connect to without consulting a server locator. - /// </remarks> - /// <param> - /// host the host name or ip address that the server is listening on. - /// </param> - /// <param> - /// port the port that the server is listening on - /// </param> - /// <exception> - /// throws IllegalArgumentException if host is an unknown host - /// or if port is outside the valid range of [1..65535] inclusive. - /// </exception> - /// <exception> - /// throws IllegalStateException if a server has already been added to this factory. - /// </exception> - PoolFactory^ AddServer( String^ host, Int32 port ); - - /// <summary> - /// Enable subscriptions. - /// </summary> - /// <remarks> - /// If set to true then the created pool will have server-to-client - /// subscriptions enabled. If set to false then all Subscription* - /// attributes are ignored at create time. - /// </remarks> - PoolFactory^ SetSubscriptionEnabled( Boolean enabled ); - - /// <summary> - /// By default SetPRSingleHopEnabled is true. - /// </summary> - /// <remarks> - /// The client is aware of location of partitions on servers hosting - /// Using this information, the client routes the client cache operations - /// directly to the server which is hosting the required partition for the - /// cache operation. - /// If SetPRSingleHopEnabled is false the client can do an extra hop on servers - /// to go to the required partition for that cache operation. - /// The SetPRSingleHopEnabled avoids extra hops only for following cache operations : - /// put, get & destroy operations. - /// </remarks> - PoolFactory^ SetPRSingleHopEnabled( Boolean enabled ); - - /// <summary> - /// Sets the redundancy level for this pools server-to-client subscriptions. - /// </summary> - /// <remarks> - /// If 0 then no redundant copies will be kept on the servers. - /// Otherwise an effort will be made to maintain the requested number of - /// copies of the server-to-client subscriptions. At most one copy per server will - /// be made up to the requested level. - /// </remarks> - /// <param> - /// redundancy the number of redundant servers for this client's subscriptions. - /// </param> - /// <exception> - /// throws IllegalArgumentException if redundancyLevel is less than -1. - /// </exception> - PoolFactory^ SetSubscriptionRedundancy( Int32 redundancy ); - - /// <summary> - /// Sets the messageTrackingTimeout attribute which is the time-to-live period, - /// in milliseconds, for subscription events the client has received from the server. - /// </summary> - /// <remarks> - /// It's used to minimize duplicate events. Entries that have not been modified - /// for this amount of time are expired from the list. - /// </remarks> - /// <param> - /// messageTrackingTimeout number of milliseconds to set the timeout to. - /// </param> - /// <exception> - /// throws IllegalArgumentException if messageTrackingTimeout is less than or equal to 0. - /// </exception> - PoolFactory^ SetSubscriptionMessageTrackingTimeout( Int32 messageTrackingTimeout ); - - /// <summary> - /// Sets the is the interval in milliseconds to wait before sending - /// acknowledgements to the bridge server for events received from the server subscriptions. - /// </summary> - /// <param> - /// ackInterval number of milliseconds to wait before sending event acknowledgements. - /// </param> - /// <exception> - /// throws IllegalArgumentException if ackInterval is less than or equal to 0. - /// </exception> - PoolFactory^ SetSubscriptionAckInterval( Int32 ackInterval ); - - /// <summary> - /// Enable ThreadLocalConnection. - /// </summary> - /// <remarks> - /// Sets the thread local connections policy for this pool. - /// If true then any time a thread goes to use a connection - /// from this pool it will check a thread local cache and see if it already - /// has a connection in it. If so it will use it. If not it will get one from - /// this pool and cache it in the thread local. This gets rid of thread contention - /// for the connections but increases the number of connections the servers see. - /// If false then connections are returned to the pool as soon - /// as the operation being done with the connection completes. This allows - /// connections to be shared amonst multiple threads keeping the number of - /// connections down. - /// </remarks> - PoolFactory^ SetThreadLocalConnections( Boolean enabled ); + /// <summary> + /// Sets the load conditioning interval for this pool. + /// </summary> + /// <remarks> + /// This interval controls how frequently the pool will check to see if + /// a connection to a given server should be moved to a different + /// server to improve the load balance. + /// </remarks> + /// <param> + /// loadConditioningInterval the connection lifetime in milliseconds + /// A value of -1 disables load conditioning. + /// </param> + /// <exception> + /// throws IllegalArgumentException if connectionLifetime + /// is less than -1. + /// </exception> + PoolFactory^ SetLoadConditioningInterval(Int32 loadConditioningInterval); - /// <summary> - /// Sets whether pool is in multiuser mode - /// If its in multiuser mode then app needs to get instance of cache from pool.getCache("creds"), to do the operations on cache. - /// </summary> - /// <param> - /// multiuserAuthentication should be true/false. Default value is false; - /// </param> - PoolFactory^ SetMultiuserAuthentication( bool multiuserAuthentication ); - - /// <summary> - /// Resets the configuration of this factory to its defaults. - /// </summary> - PoolFactory^ Reset(); - - /// <summary> - /// Create a new Pool for connecting a client to a set of GemFire Cache Servers. - /// using this factory's settings for attributes. - /// </summary> - /// <param> - /// name the name of the pool, used when connecting regions to it - /// </param> - /// <exception> - /// throws IllegalStateException if a pool with name already exists - /// throws IllegalStateException if a locator or server has not been added. - /// </exception> - Pool/*<TKey, TValue>*/^ Create( String^ name ); - - internal: + /// <summary> + /// Sets the socket buffer size for each connection made in this pool. + /// </summary> + /// <remarks> + /// Large messages can be received and sent faster when this buffer is larger. + /// Larger buffers also optimize the rate at which servers can send events + /// for client subscriptions. + /// </remarks> + /// <param> + /// bufferSize the size of the socket buffers used for reading and + /// writing on each connection in this pool. + /// </param> + /// <exception> + /// throws IllegalArgumentException if bufferSize + /// is less than or equal to 0. + /// </exception> + PoolFactory^ SetSocketBufferSize(Int32 bufferSize); - /// <summary> - /// Internal factory function to wrap a native object pointer inside - /// this managed class with null pointer check. - /// </summary> - /// <param name="nativeptr">The native object pointer</param> - /// <returns> - /// The managed wrapper object; null if the native pointer is null. - /// </returns> - inline static PoolFactory/*<TKey, TValue>*/^ Create( apache::geode::client::PoolFactory* nativeptr ) - { - return ( nativeptr != nullptr ? - gcnew PoolFactory( nativeptr ) : nullptr ); - } + /// <summary> + /// Sets the number of milliseconds to wait for a response from a server before + /// timing out the operation and trying another server (if any are available). + /// </summary> + /// <param> + /// timeout number of milliseconds to wait for a response from a server + /// </param> + /// <exception> + /// throws IllegalArgumentException if timeout + /// is less than or equal to 0. + /// </exception> + PoolFactory^ SetReadTimeout(Int32 timeout); + + /// <summary> + /// Set the minimum number of connections to keep available at all times. + /// </summary> + /// <remarks> + /// When the pool is created, it will create this many connections. + /// If 0 then connections will not be made until an actual operation + /// is done that requires client-to-server communication. + /// </remarks> + /// <param> + /// minConnections the initial number of connections this pool will create. + /// </param> + /// <exception> + /// throws IllegalArgumentException if minConnections is less than 0. + /// </exception> + PoolFactory^ SetMinConnections(Int32 minConnections); + + /// <summary> + /// Set the max number of client to server connections that the pool will create. + /// </summary> + /// <remarks> + /// If all of the connections are in use, an operation requiring a client to + /// server connection will block until a connection is available. + /// see setFreeConnectionTimeout(int) + /// </remarks> + /// <param> + /// maxConnections the maximum number of connections in the pool. + /// -1 indicates that there is no maximum number of connections. + /// </param> + /// <exception> + /// throws IllegalArgumentException if maxConnections is less than minConnections. + /// </exception> + PoolFactory^ SetMaxConnections(Int32 maxConnections); + + /// <summary> + /// Set the amount of time a connection can be idle before expiring the connection. + /// </summary> + /// <remarks> + /// If the pool size is greater than the minimum specified, connections which have + /// been idle for longer than the idleTimeout will be closed. + /// </remarks> + /// <param> + /// idleTimeout The amount of time in milliseconds that an idle connection + /// should live before expiring. -1 indicates that connections should never expire. + /// </param> + /// <exception> + /// throws IllegalArgumentException if idleTimout is less than 0. + /// </exception> + PoolFactory^ SetIdleTimeout(Int32 idleTimeout); + + /// <summary> + /// Set the number of times to retry a request after timeout/exception. + /// </summary> + /// <param> + /// retryAttempts The number of times to retry a request + /// after timeout/exception. -1 indicates that a request should be + /// tried against every available server before failing. + /// </param> + /// <exception> + /// throws IllegalArgumentException if idleTimout is less than 0. + /// </exception> + PoolFactory^ SetRetryAttempts(Int32 retryAttempts); + + /// <summary> + /// Set how often to ping servers to verify that they are still alive. + /// </summary> + /// <remarks> + /// Each server will be sent a ping every pingInterval if there has not + /// been any other communication with the server. + /// These pings are used by the server to monitor the health of + /// the client. Make sure that the pingInterval is less than the + /// maximum time between pings allowed by the bridge server. + /// see in CacheServer: setMaximumTimeBetweenPings(int) + /// </remarks> + /// <param> + /// pingInterval The amount of time in milliseconds between pings. + /// </param> + /// <exception> + /// throws IllegalArgumentException if pingInterval is less than 0. + /// </exception> + PoolFactory^ SetPingInterval(Int32 pingInterval); + + /// <summary> + /// Set how often to update locator list from locator + /// </summary> + /// <param> + /// updateLocatorListInterval The amount of time in milliseconds between + /// updating locator list. If its set to 0 then client will not update + /// the locator list. + /// </param> + /// <returns> + /// a instance of <c>CacheFactory</c> + /// </returns> + PoolFactory^ SetUpdateLocatorListInterval(Int32 updateLocatorListInterval); + + /// <summary> + /// Set how often to send client statistics to the server. + /// </summary> + /// <remarks> + /// Doing this allows gfmon to monitor clients. + /// A value of -1 disables the sending of client statistics + /// to the server. + /// </remarks> + /// <param> + /// statisticInterval The amount of time in milliseconds between + /// sends of client statistics to the server. + /// </param> + /// <exception> + /// throws IllegalArgumentException if statisticInterval + /// is less than -1. + /// </exception> + PoolFactory^ SetStatisticInterval(Int32 statisticInterval); + + /// <summary> + /// Configures the group that all servers this pool connects to must belong to. + /// </summary> + /// <param> + /// group the server group that this pool will connect to. + /// If null or "" then all servers will be connected to. + /// </param> + PoolFactory^ SetServerGroup(String^ group); + + /// <summary> + /// Add a locator, given its host and port, to this factory. + /// </summary> + /// <remarks> + /// The locator must be a server locator and will be used to discover other running + /// bridge servers and locators. + /// </remarks> + /// <param> + /// host the host name or ip address that the locator is listening on. + /// </param> + /// <param> + /// port the port that the locator is listening on + /// </param> + /// <exception> + /// throws IllegalArgumentException if host is an unknown host + /// or if port is outside the valid range of [1..65535] inclusive. + /// </exception> + /// <exception> + /// throws IllegalStateException if a locator has already been added to this factory. + /// </exception> + PoolFactory^ AddLocator(String^ host, Int32 port); + + /// <summary> + /// Add a server, given its host and port, to this factory. + /// </summary> + /// <remarks> + /// The server must be a bridge server and this client will + /// directly connect to without consulting a server locator. + /// </remarks> + /// <param> + /// host the host name or ip address that the server is listening on. + /// </param> + /// <param> + /// port the port that the server is listening on + /// </param> + /// <exception> + /// throws IllegalArgumentException if host is an unknown host + /// or if port is outside the valid range of [1..65535] inclusive. + /// </exception> + /// <exception> + /// throws IllegalStateException if a server has already been added to this factory. + /// </exception> + PoolFactory^ AddServer(String^ host, Int32 port); + + /// <summary> + /// Enable subscriptions. + /// </summary> + /// <remarks> + /// If set to true then the created pool will have server-to-client + /// subscriptions enabled. If set to false then all Subscription* + /// attributes are ignored at create time. + /// </remarks> + PoolFactory^ SetSubscriptionEnabled(Boolean enabled); + + /// <summary> + /// By default SetPRSingleHopEnabled is true. + /// </summary> + /// <remarks> + /// The client is aware of location of partitions on servers hosting + /// Using this information, the client routes the client cache operations + /// directly to the server which is hosting the required partition for the + /// cache operation. + /// If SetPRSingleHopEnabled is false the client can do an extra hop on servers + /// to go to the required partition for that cache operation. + /// The SetPRSingleHopEnabled avoids extra hops only for following cache operations : + /// put, get & destroy operations. + /// </remarks> + PoolFactory^ SetPRSingleHopEnabled(Boolean enabled); + + /// <summary> + /// Sets the redundancy level for this pools server-to-client subscriptions. + /// </summary> + /// <remarks> + /// If 0 then no redundant copies will be kept on the servers. + /// Otherwise an effort will be made to maintain the requested number of + /// copies of the server-to-client subscriptions. At most one copy per server will + /// be made up to the requested level. + /// </remarks> + /// <param> + /// redundancy the number of redundant servers for this client's subscriptions. + /// </param> + /// <exception> + /// throws IllegalArgumentException if redundancyLevel is less than -1. + /// </exception> + PoolFactory^ SetSubscriptionRedundancy(Int32 redundancy); + + /// <summary> + /// Sets the messageTrackingTimeout attribute which is the time-to-live period, + /// in milliseconds, for subscription events the client has received from the server. + /// </summary> + /// <remarks> + /// It's used to minimize duplicate events. Entries that have not been modified + /// for this amount of time are expired from the list. + /// </remarks> + /// <param> + /// messageTrackingTimeout number of milliseconds to set the timeout to. + /// </param> + /// <exception> + /// throws IllegalArgumentException if messageTrackingTimeout is less than or equal to 0. + /// </exception> + PoolFactory^ SetSubscriptionMessageTrackingTimeout(Int32 messageTrackingTimeout); + + /// <summary> + /// Sets the is the interval in milliseconds to wait before sending + /// acknowledgements to the bridge server for events received from the server subscriptions. + /// </summary> + /// <param> + /// ackInterval number of milliseconds to wait before sending event acknowledgements. + /// </param> + /// <exception> + /// throws IllegalArgumentException if ackInterval is less than or equal to 0. + /// </exception> + PoolFactory^ SetSubscriptionAckInterval(Int32 ackInterval); + + /// <summary> + /// Enable ThreadLocalConnection. + /// </summary> + /// <remarks> + /// Sets the thread local connections policy for this pool. + /// If true then any time a thread goes to use a connection + /// from this pool it will check a thread local cache and see if it already + /// has a connection in it. If so it will use it. If not it will get one from + /// this pool and cache it in the thread local. This gets rid of thread contention + /// for the connections but increases the number of connections the servers see. + /// If false then connections are returned to the pool as soon + /// as the operation being done with the connection completes. This allows + /// connections to be shared amonst multiple threads keeping the number of + /// connections down. + /// </remarks> + PoolFactory^ SetThreadLocalConnections(Boolean enabled); + + /// <summary> + /// Sets whether pool is in multiuser mode + /// If its in multiuser mode then app needs to get instance of cache from pool.getCache("creds"), to do the operations on cache. + /// </summary> + /// <param> + /// multiuserAuthentication should be true/false. Default value is false; + /// </param> + PoolFactory^ SetMultiuserAuthentication(bool multiuserAuthentication); + + /// <summary> + /// Resets the configuration of this factory to its defaults. + /// </summary> + PoolFactory^ Reset(); + + /// <summary> + /// Create a new Pool for connecting a client to a set of Geode Cache Servers. + /// using this factory's settings for attributes. + /// </summary> + /// <param> + /// name the name of the pool, used when connecting regions to it + /// </param> + /// <exception> + /// throws IllegalStateException if a pool with name already exists + /// throws IllegalStateException if a locator or server has not been added. + /// </exception> + Pool/*<TKey, TValue>*/^ Create(String^ name); + + internal: + + /// <summary> + /// Internal factory function to wrap a native object pointer inside + /// this managed class with null pointer check. + /// </summary> + /// <param name="nativeptr">The native object pointer</param> + /// <returns> + /// The managed wrapper object; null if the native pointer is null. + /// </returns> + inline static PoolFactory/*<TKey, TValue>*/^ Create(apache::geode::client::PoolFactory* nativeptr) + { + return (nativeptr != nullptr ? + gcnew PoolFactory(nativeptr) : nullptr); + } - private: + private: /// <summary> /// Private constructor to wrap a native object pointer /// </summary> /// <param name="nativeptr">The native object pointer</param> - inline PoolFactory( apache::geode::client::PoolFactory* nativeptr ) - : SBWrap( nativeptr ) { } + inline PoolFactory(apache::geode::client::PoolFactory* nativeptr) + : SBWrap(nativeptr) { } }; } // namespace Client } // namespace Geode http://git-wip-us.apache.org/repos/asf/geode/blob/fc9f1f6f/src/clicache/src/Properties.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/Properties.hpp b/src/clicache/src/Properties.hpp index d2be90a..21c8c10 100644 --- a/src/clicache/src/Properties.hpp +++ b/src/clicache/src/Properties.hpp @@ -41,7 +41,7 @@ namespace Apache namespace Client { -delegate void PropertyVisitor(Apache::Geode::Client::ICacheableKey^ key, Apache::Geode::Client::IGFSerializable^ value); + delegate void PropertyVisitor(Apache::Geode::Client::ICacheableKey^ key, Apache::Geode::Client::IGFSerializable^ value); generic <class TPropKey, class TPropValue> ref class PropertyVisitorProxy; @@ -191,7 +191,7 @@ delegate void PropertyVisitor(Apache::Geode::Client::ICacheableKey^ key, Apache: { inline virtual uint32_t get( ) { - return GemFireClassIds::Properties; + return GeodeClassIds::Properties; } } http://git-wip-us.apache.org/repos/asf/geode/blob/fc9f1f6f/src/clicache/src/QueryService.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/QueryService.cpp b/src/clicache/src/QueryService.cpp index 13a5f59..49978ff 100644 --- a/src/clicache/src/QueryService.cpp +++ b/src/clicache/src/QueryService.cpp @@ -37,48 +37,48 @@ namespace Apache generic<class TKey, class TResult> //generic<class TResult> - Query<TResult>^ QueryService<TKey, TResult>::NewQuery( String^ query ) + Query<TResult>^ QueryService<TKey, TResult>::NewQuery(String^ query) { - ManagedString mg_queryStr( query ); + ManagedString mg_queryStr(query); _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - return Query<TResult>::Create( NativePtr->newQuery( - mg_queryStr.CharPtr ).ptr( ) ); + return Query<TResult>::Create(NativePtr->newQuery( + mg_queryStr.CharPtr).ptr()); _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } generic<class TKey, class TResult> - CqQuery<TKey, TResult>^ QueryService<TKey, TResult>::NewCq( String^ query, CqAttributes<TKey, TResult>^ cqAttr, bool isDurable ) + CqQuery<TKey, TResult>^ QueryService<TKey, TResult>::NewCq(String^ query, CqAttributes<TKey, TResult>^ cqAttr, bool isDurable) { - ManagedString mg_queryStr( query ); - apache::geode::client::CqAttributesPtr attr(GetNativePtrFromSBWrapGeneric<apache::geode::client::CqAttributes>(cqAttr)); + ManagedString mg_queryStr(query); + apache::geode::client::CqAttributesPtr attr(GetNativePtrFromSBWrapGeneric<apache::geode::client::CqAttributes>(cqAttr)); try { - return CqQuery<TKey, TResult>::Create( NativePtr->newCq( - mg_queryStr.CharPtr, attr, isDurable ).ptr( )); + return CqQuery<TKey, TResult>::Create(NativePtr->newCq( + mg_queryStr.CharPtr, attr, isDurable).ptr()); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } generic<class TKey, class TResult> - CqQuery<TKey, TResult>^ QueryService<TKey, TResult>::NewCq( String^ name, String^ query, CqAttributes<TKey, TResult>^ cqAttr, bool isDurable ) + CqQuery<TKey, TResult>^ QueryService<TKey, TResult>::NewCq(String^ name, String^ query, CqAttributes<TKey, TResult>^ cqAttr, bool isDurable) { - ManagedString mg_queryStr( query ); - ManagedString mg_nameStr( name ); - apache::geode::client::CqAttributesPtr attr(GetNativePtrFromSBWrapGeneric<apache::geode::client::CqAttributes>(cqAttr)); + ManagedString mg_queryStr(query); + ManagedString mg_nameStr(name); + apache::geode::client::CqAttributesPtr attr(GetNativePtrFromSBWrapGeneric<apache::geode::client::CqAttributes>(cqAttr)); try { - return CqQuery<TKey, TResult>::Create( NativePtr->newCq( - mg_nameStr.CharPtr, mg_queryStr.CharPtr, attr, isDurable ).ptr( ) ); + return CqQuery<TKey, TResult>::Create(NativePtr->newCq( + mg_nameStr.CharPtr, mg_queryStr.CharPtr, attr, isDurable).ptr()); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -87,11 +87,11 @@ namespace Apache { try { - NativePtr->closeCqs(); + NativePtr->closeCqs(); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -100,34 +100,34 @@ namespace Apache { try { - apache::geode::client::VectorOfCqQuery vrr; - NativePtr->getCqs( vrr ); - array<CqQuery<TKey, TResult>^>^ cqs = gcnew array<CqQuery<TKey, TResult>^>( vrr.size( ) ); + apache::geode::client::VectorOfCqQuery vrr; + NativePtr->getCqs(vrr); + array<CqQuery<TKey, TResult>^>^ cqs = gcnew array<CqQuery<TKey, TResult>^>(vrr.size()); - for( int32_t index = 0; index < vrr.size( ); index++ ) - { - cqs[ index ] = CqQuery<TKey, TResult>::Create(vrr[index].ptr( )); - } - return cqs; + for (int32_t index = 0; index < vrr.size(); index++) + { + cqs[index] = CqQuery<TKey, TResult>::Create(vrr[index].ptr()); + } + return cqs; } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } generic<class TKey, class TResult> CqQuery<TKey, TResult>^ QueryService<TKey, TResult>::GetCq(String^ name) { - ManagedString mg_queryStr( name ); + ManagedString mg_queryStr(name); try { - return CqQuery<TKey, TResult>::Create( NativePtr->getCq( - mg_queryStr.CharPtr ).ptr( ) ); + return CqQuery<TKey, TResult>::Create(NativePtr->getCq( + mg_queryStr.CharPtr).ptr()); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -138,9 +138,9 @@ namespace Apache { NativePtr->executeCqs(); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -151,9 +151,9 @@ namespace Apache { NativePtr->stopCqs(); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -162,11 +162,11 @@ namespace Apache { try { - return CqServiceStatistics::Create( NativePtr->getCqServiceStatistics().ptr( ) ); + return CqServiceStatistics::Create(NativePtr->getCqServiceStatistics().ptr()); } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); } } @@ -180,19 +180,18 @@ namespace Apache System::Collections::Generic::List<String^>^ durableCqsList = gcnew System::Collections::Generic::List<String^>(); if (length > 0) { - for(int i =0; i < length; i++) + for (int i = 0; i < length; i++) { durableCqsList->Add(CacheableString::GetString(durableCqsArrayListPtr->at(i))); } } return durableCqsList; } - catch ( const apache::geode::client::Exception& ex ) + catch (const apache::geode::client::Exception& ex) { - throw GemFireException::Get( ex ); + throw GemFireException::Get(ex); + } + } } // namespace Client } // namespace Geode } // namespace Apache - -} - } //namespace