Hazelcast IMDG C++ Client
APACHE-2.0 License
Bot releases are visible (Hide)
Published by ihsandemir over 7 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.8.2 release.
PartitionAware
interface. You can force certain keys to be put on the same server at the cluster and run your entry processor on that server which will access the data locally since you put all the data to that server using this new feature. This is also called Data Affinity. You can find more information regarding the PartitionAware feature at the client documentation page: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8.2#partitionaware. You can also check the example code at: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8.2/examples/distributed-map/partitionaware
Some of the major bug fixes for this release are listed below. You can find the full list of closed issues and closed PRs at the repo with milestone 3.8.2.
There are no known issues for this release.
Published by ihsandemir over 7 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.8.1 release.
ClientAwsConfig
configuration. You can find more information regarding the AWS Cloud Discovery feature at the client documentation page: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8.1#aws-cloud-discovery. You can also check the example code at: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8.1/examples/aws
There are no enhancements for this release.
There are no known issues for this release.
Published by ihsandemir over 7 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.8 release.
TLS: C++ client can now use TLS encryption while communicating with the cluster. The TLS is configured via the SSLConfig which is now part of the ClientConfig. Different TLS/SSL protocols can also be configured. Only the Hazelcast IMDG Enterprise servers support TLS connection. Hence, if you enable the SSLConfig, make sure that the client is talking to a Hazelcast IMDG Enterprise server. Otherwise, the client will not be able to connect to the cluster. You can find more information regarding the TLS feature at the client documentation page: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8#tls-feature. You can also check the example code at: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.8/examples/tls
IMap::sumbitToKey Async API: C++ client now supports async IMap::submitToKey
API. A new Future
object is provided at the API. The future acts similar to std::future
. You can now make async calls and get the responses when you need it. You can find a sample code usage at this link: https://github.com/hazelcast/hazelcast-cpp-client/blob/v3.8/examples/distributed-map/entry-processor/main.cpp#L72
executeOnKeys
for IMap entry processor. [225]
Published by ihsandemir over 7 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.7 release.
map.get
operations to be served directly from the local copy of key value. Therefore, it eliminates any network and cluster interactions when the data is present in near cache. This can improve the get performances and decrease the latencies of get operations significantly. It will especially help when most of your requests are gets. The near cache is configured per map using the map's name before instantiating the HazelcastClient
instance. You can see the examples here: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.7/examples/distributed-map/near-cache. There is also additional information at this page: https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.7#map-near-cache
Published by ihsandemir over 8 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.6.3 release.
We have added the Reliable Topic and Ringbuffer implementations. You can now access Hazelcast Ringbuffer and Reliable Topic structures using the C++ client. Currently, Ringbuffer implementation provides synch methods only.
You can find the code samples for these new structures in the examples
folder or at Github:
https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.6.3/examples/distributed-collections/ringbuffer
https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.6.3/examples/distributed-topic/reliabletopic
The release also provides several fixes and enhancements. Some of them are as follows:
ProtocolExceptions
as defined in the Hazelcast Open Binary protocol.Published by ihsandemir over 8 years ago
This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.6.2 release.
This release introduces the following new features:
Raw pointer capability: This feature introduces the new raw pointer adapter classes such as RawPointerMap which allows you to obtain raw pointer for the returned objects. Previously it was not possible to release the returned pointer object due to limitations of boost::shared_ptr and hence it was causing an extra object copy for the user. The new API also uses late de-serialization for multiple values returning API. For each container you can use the adapter classes, whose names start with RawPointer
, to access the raw pointers of the created objects. The adapter classes are found in hazelcast::client::adaptor
namespace and listed below:
-RawPointerList
-RawPointerQueue
-RawPointerTransactionalMultiMap
-RawPointerMap
-RawPointerSet
-RawPointerTransactionalQueue
-RawPointerMultiMap
-RawPointerTransactionalMap
These are adapter classes and they do not create new structures. You just provide the legacy containers as parameters and then you can work with these raw capability containers freely.
The following are also the late serializing structures for multiple entry returning API:
-DataArray
-EntryArray
See http://docs.hazelcast.org/docs/latest-dev/manual/html-single/index.html#raw-pointer-api, https://github.com/hazelcast/hazelcast-cpp-client/tree/master/examples/adaptor, and https://github.com/hazelcast/hazelcast-cpp-client/pull/75 for details.
Support custom serialization with no user object modification: The previous API required some modification to user objects when you want to use custom serializer. We removed this requirement. Hence, the user can use the custom serializer with no user object code modification. See http://docs.hazelcast.org/docs/latest-dev/manual/html-single/index.html#serialization-support, https://github.com/hazelcast/hazelcast-cpp-client/tree/master/examples/serialization/custom, and https://github.com/hazelcast/hazelcast-cpp-client/pull/37 for details.
Version Info on C++ Client: The client STARTING log now contains the last Git commit date and commit ID for the release. Example format is:
Apr 21, 2016 01:42:16 PM INFO: [HazelcastCppClient3.6.2] [dev] [4298317824] (20160406:0ef9654) LifecycleService::LifecycleEvent STARTING 3.6.2 is the version. 20160406 is the release date 0ef9654 is the GitHub commit ID.
See https://github.com/hazelcast/hazelcast-cpp-client/pull/92 and https://github.com/hazelcast/hazelcast-cpp-client/pull/90 for details.
New built-in predicates for queries: Previously only the SQL query predicate and user-built custom predicates were supported by the client. This release adds new built-in predicates for making queries, listed below.
This release also adds entry listeners with predicates support for C++ client API. By this way, only the events for the selected subset of entries matching the query criteria are received by your listener. Hence, the new listener API is:
std::string addEntryListener(EntryListener<K, V> &listener, const query::Predicate &predicate, bool includeValue);
This release introduces a rich set of built-in predicates as supported by the Java client. You can create your own predicates by implementing Predicate
interfaces both at the C++ client side and server side. Built-in predicates are listed below:
AndPredicate
EqualPredicate
ILikePredicate
LikePredicate
OrPredicate
TruePredicate
BetweenPredicate
FalsePredicate
InPredicate
NotEqualPredicate
PagingPredicate
RegexPredicate
GreaterLessPredicate
InstanceOfPredicate
NotPredicate
SqlPredicate
See http://docs.hazelcast.org/docs/latest-dev/manual/html-single/index.html#query-api, https://github.com/hazelcast/hazelcast-cpp-client/blob/master/examples/distributed-map/query/queryExample.cpp, https://github.com/hazelcast/hazelcast-cpp-client/pull/89 for details.
Published by Serdaro over 8 years ago
This document includes the new features, enhancements and fixed issues for Hazelcast C++ Client 3.6.1 release.
There are no new features.
There are no new enhancements.
thread_cancel
(cancel was not affecting the update) which caused the update to be blocking anyway. The refresh is being called through the cluster listener thread hence it does not block the IOSelector thread. Added the additional addresses to Java server member for some manual tests. #63