|
Monero
|
Provides tx notification privacy. More...
#include <levin_notify.h>

Classes | |
| struct | status |
Public Member Functions | |
| notify () noexcept | |
| Construct an instance that cannot notify. More... | |
| notify (boost::asio::io_context &service, std::shared_ptr< connections > p2p, epee::byte_slice noise, epee::net_utils::zone zone, bool pad_txs, i_core_events &core) | |
Construct an instance with available notification zones. More... | |
| notify (const notify &)=delete | |
| notify (notify &&)=default | |
| ~notify () noexcept | |
| notify & | operator= (const notify &)=delete |
| notify & | operator= (notify &&)=default |
| status | get_status () const noexcept |
| void | new_out_connection () |
| Probe for new outbound connection - skips if not needed. More... | |
| void | on_handshake_complete (const boost::uuids::uuid &id, bool is_income) |
| void | on_connection_close (const boost::uuids::uuid &id) |
| void | run_epoch () |
| Run the logic for the next epoch immediately. Only use in testing. More... | |
| void | run_stems () |
| Run the logic for the next stem timeout imemdiately. Only use in testing. More... | |
| void | run_fluff () |
| Run the logic for flushing all Dandelion++ fluff queued txs. Only use in testing. More... | |
| bool | send_txs (std::vector< blobdata > txs, const boost::uuids::uuid &source, relay_method tx_relay) |
Private Attributes | |
| std::shared_ptr< detail::zone > | zone_ |
| i_core_events * | core_ |
Provides tx notification privacy.
|
inlinenoexcept |
Construct an instance that cannot notify.
|
explicit |
Construct an instance with available notification zones.
|
default |
|
noexcept |
|
noexcept |
| void cryptonote::levin::notify::new_out_connection | ( | ) |
Probe for new outbound connection - skips if not needed.
| void cryptonote::levin::notify::on_connection_close | ( | const boost::uuids::uuid & | id | ) |
| void cryptonote::levin::notify::on_handshake_complete | ( | const boost::uuids::uuid & | id, |
| bool | is_income | ||
| ) |
| void cryptonote::levin::notify::run_epoch | ( | ) |
Run the logic for the next epoch immediately. Only use in testing.
| void cryptonote::levin::notify::run_fluff | ( | ) |
Run the logic for flushing all Dandelion++ fluff queued txs. Only use in testing.
| void cryptonote::levin::notify::run_stems | ( | ) |
Run the logic for the next stem timeout imemdiately. Only use in testing.
| bool cryptonote::levin::notify::send_txs | ( | std::vector< blobdata > | txs, |
| const boost::uuids::uuid & | source, | ||
| relay_method | tx_relay | ||
| ) |
Send txs using cryptonote_protocol_defs.h payload format wrapped in a levin header. The message will be sent in a "discreet" manner if enabled - if !noise.empty() then the command/payload will be queued to send at the next available noise interval. Otherwise, a Dandelion++ fluff algorithm will be used.
| txs | The transactions that need to be serialized and relayed. |
| source | The source of the notification. is_nil() indicates this node is the source. Dandelion++ will use this to map a source to a particular stem. |
|
private |
|
private |
1.8.14