dncurrency/nano/node/payment_observer_processor.hpp
Wesley Shillingford c3046c11d5
RPC server is moved to a new process (optionally) (#1874)
* Move RPC to new process

* Readd reuse address

* Formatting

* Remove rpc dependency from node CMakeLists.txt file

* Fix rpc.online_reps test

* Only use boost process when using a boost version other than 1.69

* Formatting, add thread name to RPC thread

* Call lock () on the lock itself not mutex

* Allow RPC in-process as well

* Formatting

* Formatting

* Revert filenames to have underscores again for readability

* Use boost interprocess with node daemon as well. Move definitions to CMakeLists.txt

* Delete unused options after migration. Don't migrate version so that an upgrade to the new rpc_config is performed filling in the rest of the options with appropriate defaults.

* Change debug_ipc to debug_rpc

* Removed unused ipc_path from new rpc_config

* Change --daemon CLI help to state it is for the RPC

* Remove rpc_path from load-tester

* Fix global network_constants initialization issue

* Fix session timer timing issue

* Remove default_ipc_port from node_rpc_config::migrate ()

* Remove semi-colon from command line args preventing others below it from working.

* Remove message about failing to migrate RPC path in rpc_config

* Move cleanup_test_directories_on_exit to node to resolve link error with nano_rpc
2019-04-21 17:41:36 +01:00

21 lines
573 B
C++

#pragma once
#include <nano/node/node_observers.hpp>
namespace nano
{
class json_payment_observer;
class payment_observer_processor final
{
public:
explicit payment_observer_processor (nano::node_observers::blocks_t & blocks);
void observer_action (nano::account const & account_a);
void add (nano::account const & account_a, std::shared_ptr<nano::json_payment_observer> payment_observer_a);
void erase (nano::account & account_a);
private:
std::mutex mutex;
std::unordered_map<nano::account, std::shared_ptr<nano::json_payment_observer>> payment_observers;
};
}