3 #include <zk/config.hpp> 10 #include "forwards.hpp" 24 static std::shared_ptr<connection> connect(string_view conn_string);
28 virtual void close() = 0;
30 virtual future<get_result>
get(string_view path) = 0;
32 virtual future<watch_result> watch(string_view path) = 0;
34 virtual future<get_children_result> get_children(string_view path) = 0;
36 virtual future<watch_children_result> watch_children(string_view path) = 0;
38 virtual future<exists_result> exists(string_view path) = 0;
40 virtual future<watch_exists_result> watch_exists(string_view path) = 0;
42 virtual future<create_result> create(string_view path,
48 virtual future<set_result>
set(string_view path,
const buffer& data,
version check) = 0;
50 virtual future<void> erase(string_view path,
version check) = 0;
52 virtual future<get_acl_result> get_acl(string_view path)
const = 0;
54 virtual future<void> set_acl(string_view path,
const acl& rules,
acl_version check) = 0;
56 virtual future<multi_result> commit(
multi_op&& txn) = 0;
58 virtual future<void> load_fence() = 0;
72 mutable std::mutex _state_change_promises_protect;
73 std::vector<promise<zk::state>> _state_change_promises;
state
Enumeration of states the client may be at when a watch triggers.
Represents a version of the ACL of a ZNode.
create_mode
When used in client::set, this value determines how the znode is created on the server.
Controls the import of future and promise types.
virtual future< zk::state > watch_state()
Watch for a state change.
Controls the import of the string_view type.
An access control list is a wrapper around acl_rule instances.
Controls the buffer type.
virtual void on_session_event(zk::state new_state)
Call this from derived classes when a session event happens.
Represents a version of the data.
ZKPP_BUFFER_TYPE buffer
The buffer type.