18 #include <boost/utility/string_view.hpp>
20 #include "hazelcast/client/impl/hazelcast_client_instance_impl.h"
22 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
24 #pragma warning(disable: 4251)
29 class hazelcast_client;
35 boost::future<client::hazelcast_client> HAZELCAST_API new_client();
41 boost::future<client::hazelcast_client> HAZELCAST_API new_client(client::client_config config);
63 friend class spi::ClientContext;
66 friend boost::future<hazelcast_client> hazelcast::new_client();
77 const std::string &get_name()
const;
87 return client_impl_->get_distributed_object<T>(name);
99 boost::shared_future<std::shared_ptr<imap>>
get_map(
const std::string &name) {
100 return client_impl_->get_distributed_object<
imap>(name);
109 boost::shared_future<std::shared_ptr<multi_map>>
get_multi_map(
const std::string& name) {
110 return client_impl_->get_distributed_object<
multi_map>(name);
113 boost::shared_future<std::shared_ptr<replicated_map>> get_replicated_map(
const std::string &name) {
114 return client_impl_->get_distributed_object<
replicated_map>(name);
123 boost::shared_future<std::shared_ptr<iqueue>>
get_queue(
const std::string& name) {
124 return client_impl_->get_distributed_object<
iqueue>(name);
134 boost::shared_future<std::shared_ptr<iset>>
get_set(
const std::string& name) {
135 return client_impl_->get_distributed_object<
iset>(name);
145 boost::shared_future<std::shared_ptr<ilist>>
get_list(
const std::string& name) {
146 return client_impl_->get_distributed_object<
ilist>(name);
155 boost::shared_future<std::shared_ptr<itopic>>
get_topic(
const std::string& name) {
156 return client_impl_->get_distributed_object<
itopic>(name);
166 return client_impl_->get_distributed_object<
reliable_topic>(name);
201 boost::shared_future<std::shared_ptr<pn_counter>>
get_pn_counter(
const std::string& name) {
202 return client_impl_->get_distributed_object<
pn_counter>(name);
211 boost::shared_future<std::shared_ptr<ringbuffer>>
get_ringbuffer(
const std::string& name) {
212 return client_impl_->get_distributed_object<
ringbuffer>(name);
286 bool remove_lifecycle_listener(
const boost::uuids::uuid ®istration_id);
291 boost::future<void> shutdown();
300 spi::lifecycle_service &get_lifecycle_service();
313 std::shared_ptr<impl::hazelcast_client_instance_impl> client_impl_;
319 const boost::string_view HAZELCAST_API version();
324 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
hazelcast_client configuration class.
Hazelcast cluster interface.
A cluster-wide unique ID generator.
boost::shared_future< std::shared_ptr< imap > > get_map(const std::string &name)
Returns the distributed map instance with the specified name.
boost::shared_future< std::shared_ptr< T > > get_distributed_object(const std::string &name)
boost::shared_future< std::shared_ptr< reliable_topic > > get_reliable_topic(const std::string &name)
Returns the distributed topic instance with the specified name.
boost::shared_future< std::shared_ptr< pn_counter > > get_pn_counter(const std::string &name)
Obtain a pn_counter with the given name.
boost::shared_future< std::shared_ptr< ringbuffer > > get_ringbuffer(const std::string &name)
Returns the distributed ringbuffer instance with the specified name.
boost::shared_future< std::shared_ptr< iqueue > > get_queue(const std::string &name)
Returns the distributed queue instance with the specified name.
boost::shared_future< std::shared_ptr< iset > > get_set(const std::string &name)
Returns the distributed set instance with the specified name.
boost::shared_future< std::shared_ptr< ilist > > get_list(const std::string &name)
Returns the distributed list instance with the specified name.
boost::shared_future< std::shared_ptr< multi_map > > get_multi_map(const std::string &name)
Returns the distributed multimap instance with the specified name.
boost::shared_future< std::shared_ptr< iexecutor_service > > get_executor_service(const std::string &name)
Creates or returns the distributed executor service for the given name.
boost::shared_future< std::shared_ptr< itopic > > get_topic(const std::string &name)
Returns the distributed topic instance with the specified name.
boost::shared_future< std::shared_ptr< flake_id_generator > > get_flake_id_generator(const std::string &name)
Returns a generator that creates a cluster-wide unique IDs.
Distributed implementation of java.util.concurrent.ExecutorService.
Concurrent, distributed, client implementation of list.
Concurrent, distributed, observable and queryable map client.
Concurrent, blocking, distributed, observable, client queue.
Concurrent, distributed client implementation of std::unordered_set.
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
Listener object for listening lifecycle events of hazelcast instance.
The Client interface allows to get information about a connected client's socket address,...
A specialized distributed map client whose keys can be associated with multiple values.
PN (Positive-Negative) CRDT counter.
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
A Ringbuffer is a data-structure where the content is stored in a ring like structure.
Provides a context to do transactional operations; so beginning/committing transactions,...
Contains the configuration for a Hazelcast transaction.
CP Subsystem is a component of Hazelcast that builds a strongly consistent layer for a set of distrib...