3 #include <zk/config.hpp>
8 #include <unordered_map>
10 #include "connection.hpp"
13 typedef struct _zhandle zhandle_t;
29 virtual void close()
override;
33 virtual future<get_result>
get(string_view path)
override;
35 virtual future<watch_result> watch(string_view path)
override;
37 virtual future<get_children_result> get_children(string_view path)
override;
39 virtual future<watch_children_result> watch_children(string_view path)
override;
41 virtual future<exists_result> exists(string_view path)
override;
43 virtual future<watch_exists_result> watch_exists(string_view path)
override;
45 virtual future<create_result> create(string_view path,
51 virtual future<set_result> set(string_view path,
const buffer& data,
version check)
override;
53 virtual future<void> erase(string_view path,
version check)
override;
55 virtual future<get_acl_result> get_acl(string_view path)
const override;
57 virtual future<void> set_acl(string_view path,
const acl& rules,
acl_version check)
override;
59 virtual future<multi_result> commit(
multi_op&& txn)
override;
61 virtual future<void> load_fence()
override;
75 template <
typename TResult>
94 std::unordered_map<ptr<const void>, std::shared_ptr<watcher>> _watches;
95 mutable std::mutex _watches_protect;
T * ptr
A simple, unowned pointer.
state
Enumeration of states the client may be at when a watch triggers.
Represents a version of the ACL of an entry.
create_mode
When used in client::set, this value determines how the entry is created on the server.
Used to specify parameters for a connection.
A collection of operations that will be performed atomically.
Imports the string_view type as std::string_view.
An access control list is a wrapper around acl_rule instances.
Represents a version of the data.
ZKPP_BUFFER_TYPE buffer
The buffer type.
An actual connection to the server.