Monero
Loading...
Searching...
No Matches
cryptonote::levin::detail::zone Struct Reference
Collaboration diagram for cryptonote::levin::detail::zone:

Classes

struct  context_t

Public Member Functions

 zone (boost::asio::io_context &io_service, std::shared_ptr< connections > p2p, epee::byte_slice noise_in, epee::net_utils::zone zone, bool pad_txs)

Public Attributes

const std::shared_ptr< connectionsp2p
const epee::byte_slice noise
 !empty() means zone is using noise channels
boost::asio::steady_timer next_epoch
boost::asio::steady_timer flush_txs
boost::asio::io_context::strand strand
boost::unordered_map< boost::uuids::uuid, context_tcontexts
net::dandelionpp::connection_map map
 Tracks outgoing uuid's for noise channels or Dandelion++ stems.
std::deque< noise_channel > channels
 Never touch after init; only update elements on noise_channel.strand.
std::atomic< std::size_t > connection_count
 Only update in strand, can be read at any time.
std::uint32_t flush_callbacks
 Number of active fluff flush callbacks queued.
const epee::net_utils::zone nzone
 Zone is public ipv4/ipv6 connections, or i2p or tor.
const bool pad_txs
 Pad txs to the next boundary for privacy.
bool fluffing
 Zone is in Dandelion++ fluff epoch.

Constructor & Destructor Documentation

◆ zone()

cryptonote::levin::detail::zone::zone ( boost::asio::io_context & io_service,
std::shared_ptr< connections > p2p,
epee::byte_slice noise_in,
epee::net_utils::zone zone,
bool pad_txs )
inlineexplicit

Member Data Documentation

◆ channels

std::deque<noise_channel> cryptonote::levin::detail::zone::channels

Never touch after init; only update elements on noise_channel.strand.

◆ connection_count

std::atomic<std::size_t> cryptonote::levin::detail::zone::connection_count

Only update in strand, can be read at any time.

◆ contexts

boost::unordered_map<boost::uuids::uuid, context_t> cryptonote::levin::detail::zone::contexts

◆ fluffing

bool cryptonote::levin::detail::zone::fluffing

Zone is in Dandelion++ fluff epoch.

◆ flush_callbacks

std::uint32_t cryptonote::levin::detail::zone::flush_callbacks

Number of active fluff flush callbacks queued.

◆ flush_txs

boost::asio::steady_timer cryptonote::levin::detail::zone::flush_txs

◆ map

net::dandelionpp::connection_map cryptonote::levin::detail::zone::map

Tracks outgoing uuid's for noise channels or Dandelion++ stems.

◆ next_epoch

boost::asio::steady_timer cryptonote::levin::detail::zone::next_epoch

◆ noise

const epee::byte_slice cryptonote::levin::detail::zone::noise

!empty() means zone is using noise channels

◆ nzone

const epee::net_utils::zone cryptonote::levin::detail::zone::nzone

Zone is public ipv4/ipv6 connections, or i2p or tor.

◆ p2p

const std::shared_ptr<connections> cryptonote::levin::detail::zone::p2p

◆ pad_txs

const bool cryptonote::levin::detail::zone::pad_txs

Pad txs to the next boundary for privacy.

◆ strand

boost::asio::io_context::strand cryptonote::levin::detail::zone::strand

The documentation for this struct was generated from the following file: