Class ESHETClientActor

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public Actor

Class Documentation

class ESHETClientActor : public Actor

ESHET client

Methods of this class can be safely called from any thread, so many actors can share a client connection.

Generally, methods return immediately, and ultimately push their result onto the provided result_chan.

Public Functions

inline explicit ESHETClientActor(const std::string &hostname, int port, std::optional<msgpack::object_handle> id = {}, TimeoutConfig timeout_config = {})
inline explicit ESHETClientActor(const std::pair<std::string, int> &hostport, std::optional<msgpack::object_handle> id = {}, TimeoutConfig timeout_config = {})
template<typename T>
inline void action_call_pack(std::string path, Channel<Result> result_chan, const T &args)
inline void action_register(std::string path, Channel<Result> result_chan, Channel<Call> call_chan)
inline void state_register(std::string path, Channel<Result> result_chan)
template<typename T>
inline void state_changed(std::string path, const T &value, Channel<Result> result_chan)
inline void state_unknown(std::string path, Channel<Result> result_chan)
inline void state_observe(std::string path, Channel<StateResult> result_chan, Channel<StateUpdate> changed_chan)
inline void event_register(std::string path, Channel<Result> result_chan)
template<typename T>
inline void event_emit(std::string path, const T &value, Channel<Result> result_chan)
inline void event_listen(std::string path, Channel<msgpack::object_handle> event_chan, Channel<Result> result_chan)
inline void get(std::string path, Channel<Result> result_chan)
template<typename T>
inline void set(std::string path, const T &value, Channel<Result> result_chan)
inline void test_disconnect()
inline void exit()

Protected Functions

inline void run()