|
TARAXA
|
#include <watches.hpp>

Classes | |
| struct | Watch |
Public Types | |
| using | InputType = InputType_ |
| using | OutputType = std::conditional_t< std::is_same_v< OutputType_, placeholder_t >, InputType, OutputType_ > |
| using | time_point = std::chrono::high_resolution_clock::time_point |
| using | Updater = std::function< void(Params const &, InputType const &, std::function< void(OutputType const &)> const &)> |
Public Member Functions | |
| WatchGroup (WatchesConfig const &cfg={}, Updater &&updater={}) | |
| WatchID | install_watch (Params &¶ms={}) const |
| bool | uninstall_watch (WatchID watch_id) const |
| void | uninstall_stale_watches () const |
| std::optional< Params > | get_watch_params (WatchID watch_id) const |
| void | process_update (InputType const &obj_in) const |
| auto | poll (WatchID watch_id) const |
Static Public Attributes | |
| static constexpr auto | type = type_ |
Private Attributes | |
| WatchGroupConfig | cfg_ |
| Updater | updater_ |
| std::unordered_map< WatchID, Watch > | watches_ |
| std::shared_mutex | watches_mu_ |
| WatchID | watch_id_seq_ = 0 |
| struct taraxa::net::rpc::eth::WatchGroup::Watch |

| Class Members | ||
|---|---|---|
| time_point | last_touched {} | |
| DefaultConstructCopyableMovable< shared_mutex > | mu {} | |
| Params | params | |
| vector< OutputType > | updates {} | |
| using taraxa::net::rpc::eth::WatchGroup< type_, InputType_, OutputType_, Params >::InputType = InputType_ |
| using taraxa::net::rpc::eth::WatchGroup< type_, InputType_, OutputType_, Params >::OutputType = std::conditional_t<std::is_same_v<OutputType_, placeholder_t>, InputType, OutputType_> |
| using taraxa::net::rpc::eth::WatchGroup< type_, InputType_, OutputType_, Params >::time_point = std::chrono::high_resolution_clock::time_point |
| using taraxa::net::rpc::eth::WatchGroup< type_, InputType_, OutputType_, Params >::Updater = std::function<void(Params const&, InputType const&, std::function<void(OutputType const&)> const& )> |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
staticconstexpr |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |