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
42 boost::future<client::hazelcast_client> HAZELCAST_API
43 new_client(client::client_config config);
73 friend class spi::ClientContext;
76 friend boost::future<hazelcast_client> hazelcast::new_client();
78 friend boost::future<hazelcast_client> hazelcast::new_client(
88 const std::string& get_name()
const;
98 const std::string& name)
100 return client_impl_->get_distributed_object<T>(name);
112 boost::shared_future<std::shared_ptr<imap>>
get_map(
const std::string& name)
114 return client_impl_->get_distributed_object<
imap>(name);
124 const std::string& name)
126 return client_impl_->get_distributed_object<
multi_map>(name);
129 boost::shared_future<std::shared_ptr<replicated_map>> get_replicated_map(
130 const std::string& name)
132 return client_impl_->get_distributed_object<
replicated_map>(name);
141 boost::shared_future<std::shared_ptr<iqueue>>
get_queue(
142 const std::string& name)
144 return client_impl_->get_distributed_object<
iqueue>(name);
154 boost::shared_future<std::shared_ptr<iset>>
get_set(
const std::string& name)
156 return client_impl_->get_distributed_object<
iset>(name);
166 boost::shared_future<std::shared_ptr<ilist>>
get_list(
167 const std::string& name)
169 return client_impl_->get_distributed_object<
ilist>(name);
178 boost::shared_future<std::shared_ptr<itopic>>
get_topic(
179 const std::string& name)
181 return client_impl_->get_distributed_object<
itopic>(name);
191 const std::string& name)
193 return client_impl_->get_distributed_object<
reliable_topic>(name);
212 boost::shared_future<std::shared_ptr<flake_id_generator>>
231 const std::string& name)
233 return client_impl_->get_distributed_object<
pn_counter>(name);
243 const std::string& name)
245 return client_impl_->get_distributed_object<
ringbuffer>(name);
258 boost::shared_future<std::shared_ptr<iexecutor_service>>
316 boost::uuids::uuid add_lifecycle_listener(
324 bool remove_lifecycle_listener(
const boost::uuids::uuid& registration_id);
329 boost::future<void> shutdown();
339 spi::lifecycle_service& get_lifecycle_service();
359 std::shared_ptr<impl::hazelcast_client_instance_impl> client_impl_;
365 const boost::string_view HAZELCAST_API
371 #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.
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...