| 
    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 |