Provides tx notification privacy.
More...
#include <levin_notify.h>
Provides tx notification privacy.
◆ notify() [1/4]
| cryptonote::levin::notify::notify |
( |
| ) |
|
|
inlinenoexcept |
Construct an instance that cannot notify.
◆ notify() [2/4]
Construct an instance with available notification zones.
◆ notify() [3/4]
| cryptonote::levin::notify::notify |
( |
const notify & | | ) |
|
|
delete |
◆ notify() [4/4]
| cryptonote::levin::notify::notify |
( |
notify && | | ) |
|
|
default |
◆ ~notify()
| cryptonote::levin::notify::~notify |
( |
| ) |
|
|
noexcept |
◆ get_status()
- Returns
- Status information for zone selection.
◆ new_out_connection()
| void cryptonote::levin::notify::new_out_connection |
( |
| ) |
|
Probe for new outbound connection - skips if not needed.
◆ on_connection_close()
| void cryptonote::levin::notify::on_connection_close |
( |
const boost::uuids::uuid & | id | ) |
|
◆ on_handshake_complete()
| void cryptonote::levin::notify::on_handshake_complete |
( |
const boost::uuids::uuid & | id, |
|
|
bool | is_income ) |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ run_epoch()
| void cryptonote::levin::notify::run_epoch |
( |
| ) |
|
Run the logic for the next epoch immediately. Only use in testing.
◆ run_fluff()
| void cryptonote::levin::notify::run_fluff |
( |
| ) |
|
Run the logic for flushing all Dandelion++ fluff queued txs. Only use in testing.
◆ run_stems()
| void cryptonote::levin::notify::run_stems |
( |
| ) |
|
Run the logic for the next stem timeout imemdiately. Only use in testing.
◆ send_txs()
| 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.
- Note
- Eventually Dandelion++ stem sending will be used here when enabled.
- Parameters
-
| 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. |
- Returns
- True iff the notification is queued for sending.
◆ core_
◆ zone_
| std::shared_ptr<detail::zone> cryptonote::levin::notify::zone_ |
|
private |
The documentation for this class was generated from the following files: