18#include <boost/utility/string_view.hpp>
20#include "hazelcast/client/impl/hazelcast_client_instance_impl.h"
21#include "hazelcast/client/flake_id_generator.h"
22#include "hazelcast/client/iexecutor_service.h"
23#include "hazelcast/client/itopic.h"
24#include "hazelcast/client/pn_counter.h"
25#include "hazelcast/client/reliable_topic.h"
26#include "hazelcast/client/replicated_map.h"
28#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
30#pragma warning(disable : 4251)
41boost::future<client::hazelcast_client> HAZELCAST_API
48boost::future<client::hazelcast_client> HAZELCAST_API
77class HAZELCAST_API hazelcast_client
79 friend class spi::ClientContext;
82 friend boost::future<hazelcast_client> hazelcast::new_client();
84 friend boost::future<hazelcast_client> hazelcast::new_client(
87 virtual ~hazelcast_client();
104 const std::string& name)
106 return client_impl_->get_distributed_object<T>(name);
118 boost::shared_future<std::shared_ptr<imap>>
get_map(
const std::string& name)
120 return client_impl_->get_distributed_object<
imap>(name);
130 const std::string& name)
132 return client_impl_->get_distributed_object<
multi_map>(name);
135 boost::shared_future<std::shared_ptr<replicated_map>> get_replicated_map(
136 const std::string& name)
138 return client_impl_->get_distributed_object<
replicated_map>(name);
147 boost::shared_future<std::shared_ptr<iqueue>>
get_queue(
148 const std::string& name)
150 return client_impl_->get_distributed_object<
iqueue>(name);
160 boost::shared_future<std::shared_ptr<iset>>
get_set(
const std::string& name)
162 return client_impl_->get_distributed_object<
iset>(name);
172 boost::shared_future<std::shared_ptr<ilist>>
get_list(
173 const std::string& name)
175 return client_impl_->get_distributed_object<
ilist>(name);
184 boost::shared_future<std::shared_ptr<itopic>>
get_topic(
185 const std::string& name)
187 return client_impl_->get_distributed_object<
itopic>(name);
197 const std::string& name)
199 return client_impl_->get_distributed_object<
reliable_topic>(name);
218 boost::shared_future<std::shared_ptr<flake_id_generator>>
237 const std::string& name)
239 return client_impl_->get_distributed_object<
pn_counter>(name);
249 const std::string& name)
251 return client_impl_->get_distributed_object<
ringbuffer>(name);
264 boost::shared_future<std::shared_ptr<iexecutor_service>>
322 boost::uuids::uuid add_lifecycle_listener(
330 bool remove_lifecycle_listener(
const boost::uuids::uuid& registration_id);
335 boost::future<void> shutdown();
345 spi::lifecycle_service& get_lifecycle_service();
365 std::shared_ptr<impl::hazelcast_client_instance_impl> client_impl_;
371const boost::string_view HAZELCAST_API
377#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< pn_counter > > get_pn_counter(const std::string &name)
Obtain a pn_counter with the given 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< itopic > > get_topic(const std::string &name)
Returns the distributed topic 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< 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< 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< ringbuffer > > get_ringbuffer(const std::string &name)
Returns the distributed ringbuffer instance with the specified name.
boost::shared_future< std::shared_ptr< imap > > get_map(const std::string &name)
Returns the distributed map instance with the specified name.
const std::string & get_name() const
Returns the name of this client instance.
boost::shared_future< std::shared_ptr< T > > get_distributed_object(const std::string &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.
boost::shared_future< std::shared_ptr< reliable_topic > > get_reliable_topic(const std::string &name)
Returns the distributed topic instance with the specified name.
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.
A service to execute SQL statements.
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...