Monero
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
tools Namespace Reference

Various Tools. More...

Namespaces

 base58
 
 detail
 
 dns_utils
 
 error
 
 wallet_rpc
 

Classes

struct  close_file
 Functional class for closing C file handles. More...
 
class  Combinator
 
struct  COMMAND_RPC_GET_ADDRESS_INFO
 
struct  COMMAND_RPC_GET_ADDRESS_TXS
 
struct  COMMAND_RPC_GET_RANDOM_OUTS
 
struct  COMMAND_RPC_GET_UNSPENT_OUTS
 
struct  COMMAND_RPC_IMPORT_WALLET_REQUEST
 
struct  COMMAND_RPC_LOGIN
 
class  data_cache
 
class  DNSResolver
 Provides high-level access to DNS resolution. More...
 
struct  DNSResolverData
 
struct  download_thread_control
 
class  file_locker
 
class  gamma_picker
 
class  hashchain
 
class  i_wallet2_callback
 
class  LoggingPerformanceTimer
 
struct  login
 
class  NodeRPCProxy
 
class  Notify
 
class  options
 
class  password_container
 
class  PerformanceTimer
 
struct  PowerOf
 
struct  PowerOf< a, 0 >
 
class  private_file
 A file restricted to process owner AND process. Deletes file on destruction. More...
 
class  ringdb
 
struct  rpc_payment_state_t
 
class  scoped_message_writer
 
class  scoped_ptr
 
class  signal_handler
 Defines a signal handler for win32 and *nix. More...
 
class  string_copy
 
class  t_http_connection
 
class  t_rpc_client
 
class  threadpool
 A global thread pool. More...
 
struct  tx_dust_policy
 
class  wallet2
 
class  wallet_device_callback
 
class  wallet_keys_unlocker
 
class  wallet_rpc_server
 

Typedefs

typedef class scoped_ptr< ub_result, ub_resolve_free > ub_result_ptr
 
typedef std::shared_ptr< download_thread_controldownload_async_handle
 

Enumerations

enum  { EVARINT_OVERFLOW = -1, EVARINT_REPRESENT = -2 }
 Error codes for varint. More...
 

Functions

template<typename F >
void apply_permutation (std::vector< size_t > permutation, const F &swap)
 
template<typename T >
void apply_permutation (const std::vector< size_t > &permutation, std::vector< T > &v)
 
template<class t_object >
bool serialize_obj_to_file (t_object &obj, const std::string &file_path)
 
template<class t_object >
bool unserialize_obj_from_file (t_object &obj, const std::string &file_path)
 
uint64_t combinations_count (uint32_t k, uint32_t n)
 
static const char * get_record_name (int record_type)
 
boost::optional< std::string > ipv4_to_string (const char *src, size_t len)
 
boost::optional< std::string > ipv6_to_string (const char *src, size_t len)
 
boost::optional< std::string > txt_to_string (const char *src, size_t len)
 
boost::optional< std::string > tlsa_to_string (const char *src, size_t len)
 
static void add_anchors (ub_ctx *ctx)
 
static void download_thread (download_async_handle control)
 
bool download (const std::string &path, const std::string &url, std::function< bool(const std::string &, const std::string &, size_t, ssize_t)> cb)
 
download_async_handle download_async (const std::string &path, const std::string &url, std::function< void(const std::string &, const std::string &, bool)> result, std::function< bool(const std::string &, const std::string &, size_t, ssize_t)> progress)
 
bool download_finished (const download_async_handle &control)
 
bool download_error (const download_async_handle &control)
 
bool download_wait (const download_async_handle &control)
 
bool download_cancel (const download_async_handle &control)
 
static void replace (std::vector< std::string > &v, const char *tag, const char *s)
 
uint64_t get_tick_count ()
 
uint64_t ticks_to_ns (uint64_t ticks)
 
void set_performance_timer_log_level (el::Level level)
 
uint64_t get_ticks_per_ns ()
 
uint32_t make_pruning_seed (uint32_t stripe, uint32_t log_stripes)
 
bool has_unpruned_block (uint64_t block_height, uint64_t blockchain_height, uint32_t pruning_seed)
 
uint32_t get_pruning_stripe (uint64_t block_height, uint64_t blockchain_height, uint32_t log_stripes)
 
uint32_t get_pruning_seed (uint64_t block_height, uint64_t blockchain_height, uint32_t log_stripes)
 
uint64_t get_next_unpruned_block_height (uint64_t block_height, uint64_t blockchain_height, uint32_t pruning_seed)
 
uint64_t get_next_pruned_block_height (uint64_t block_height, uint64_t blockchain_height, uint32_t pruning_seed)
 
uint32_t get_random_stripe ()
 
constexpr uint32_t get_pruning_log_stripes (uint32_t pruning_seed)
 
uint32_t get_pruning_stripe (uint32_t pruning_seed)
 
scoped_message_writer success_msg_writer (bool color=true)
 
scoped_message_writer msg_writer (epee::console_colors color=epee::console_color_default)
 
scoped_message_writer fail_msg_writer ()
 
int spawn (const char *filename, const std::vector< std::string > &args, bool wait)
 
void set_stack_trace_log (const std::string &log)
 
void log_stack_trace (const char *msg)
 
bool check_updates (const std::string &software, const std::string &buildtag, std::string &version, std::string &hash)
 
std::string get_update_url (const std::string &software, const std::string &subdir, const std::string &buildtag, const std::string &version, bool user)
 
template<typename T , typename Transform >
T utf8canonical (const T &s, Transform t=[](wint_t c) ->wint_t { return c;})
 
void copy_file (const std::string &from, const std::string &to)
 
std::string get_nix_version_display_string ()
 
std::string get_os_version_string ()
 Returns the OS version string. More...
 
std::string get_default_data_dir ()
 Returns the default data directory. More...
 
bool create_directories_if_necessary (const std::string &path)
 creates directories for a path More...
 
std::error_code replace_file (const std::string &old_name, const std::string &new_name)
 std::rename wrapper for nix and something strange for windows. More...
 
static bool unbound_built_with_threads ()
 
bool sanitize_locale ()
 
static void setup_crash_dump ()
 
bool disable_core_dumps ()
 
ssize_t get_lockable_memory ()
 
bool on_startup ()
 
void set_strict_default_file_permissions (bool strict)
 
boost::optional< boolis_hdd (const char *file_path)
 
void set_max_concurrency (unsigned n)
 
unsigned get_max_concurrency ()
 
bool is_privacy_preserving_network (const std::string &address)
 
bool is_local_address (const std::string &address)
 
int vercmp (const char *v0, const char *v1)
 
bool sha256sum (const uint8_t *data, size_t len, crypto::hash &hash)
 Creates a SHA-256 digest of a data buffer. More...
 
bool sha256sum (const std::string &filename, crypto::hash &hash)
 Creates a SHA-256 digest of a file's contents, equivalent to the sha256sum command in Linux. More...
 
boost::optional< std::pair< uint32_t, uint32_t > > parse_subaddress_lookahead (const std::string &str)
 
std::string glob_to_regex (const std::string &val)
 
void closefrom (int fd)
 
std::string get_human_readable_timestamp (uint64_t ts)
 
std::string get_human_readable_timespan (uint64_t seconds)
 
std::string get_human_readable_bytes (uint64_t bytes)
 
void clear_screen ()
 
std::pair< std::string, size_t > get_string_prefix_by_width (const std::string &s, size_t columns)
 
size_t get_string_width (const std::string &s)
 
std::vector< std::pair< std::string, size_t > > split_line_by_width (const std::string &s, size_t columns)
 
uint64_t cumulative_block_sync_weight (cryptonote::network_type nettype, uint64_t start_block, uint64_t num_blocks)
 
std::vector< std::pair< std::string, size_t > > split_string_by_width (const std::string &s, size_t columns)
 
template<typename OutputIt , typename T >
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value, void >::type write_varint (OutputIt &&dest, T i)
 writes a varint to a stream. More...
 
template<typename T >
std::string get_varint_data (const T &v)
 Returns the string that represents the varint. More...
 
void reattach_blockchain (hashchain &blockchain, wallet2::detached_blockchain_data &dbd)
 
bool has_nonrequested_tx_at_height_or_above_requested (uint64_t height, const std::unordered_set< crypto::hash > &requested_txids, const wallet2::transfer_container &transfers, const wallet2::payment_container &payments, const serializable_unordered_map< crypto::hash, wallet2::confirmed_transfer_details > &confirmed_txs)
 
static uint64_t decodeRct (const rct::rctSig &rv, const crypto::key_derivation &derivation, unsigned int i, rct::key &mask, hw::device &hwdev)
 
void read_pool_txs (const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::request &req, const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::response &res, bool r, const std::vector< crypto::hash > &txids, std::vector< std::tuple< cryptonote::transaction, crypto::hash, bool >> &txs)
 
void check_block_hard_fork_version (cryptonote::network_type nettype, uint8_t hf_version, uint64_t height, bool &wallet_is_outdated, bool &daemon_is_outdated)
 
void validate_background_cache_password_usage (const tools::wallet2::BackgroundSyncType background_sync_type, const boost::optional< epee::wipeable_string > &background_cache_password, const bool multisig, const bool watch_only, const bool key_on_device)
 
void get_custom_background_key (const epee::wipeable_string &password, crypto::chacha_key &custom_background_key, const uint64_t kdf_rounds)
 
std::pair< std::set< uint64_t >, size_t > outs_unique (const std::vector< std::vector< tools::wallet2::get_outs_entry >> &outs)
 
static uint32_t get_count_above (const std::vector< wallet2::transfer_details > &transfers, const std::vector< size_t > &indices, uint64_t threshold)
 
static crypto::hash get_message_hash (const std::string &data, const crypto::public_key &spend_key, const crypto::public_key &view_key, const uint8_t mode)
 
static void check_rpc_cost (rpc_payment_state_t &rpc_payment_state, const char *call, uint64_t post_call_credits, uint64_t pre_call_credits, double expected_cost)
 
static std::string ptx_to_string (const tools::wallet2::pending_tx &ptx)
 
template<typename T >
static bool is_error_value (const T &val)
 
static bool is_error_value (const std::string &s)
 
template<typename T , typename V >
static bool fill (T &where, V s)
 
template<typename T , typename V >
static bool fill (std::list< T > &where, V s)
 
static uint64_t total_amount (const tools::wallet2::pending_tx &ptx)
 

Variables

constexpr const int DNS_CLASS_IN = 1
 
constexpr const int DNS_TYPE_A = 1
 
constexpr const int DNS_TYPE_TXT = 16
 
constexpr const int DNS_TYPE_AAAA = 8
 
constexpr const int DNS_TYPE_TLSA = 52
 
el::Level performance_timer_log_level = el::Level::Info
 
static __thread std::vector< LoggingPerformanceTimer * > * performance_timers = NULL
 
static constexpr uint32_t PRUNING_SEED_LOG_STRIPES_SHIFT = 7
 
static constexpr uint32_t PRUNING_SEED_LOG_STRIPES_MASK = 0x7
 
static constexpr uint32_t PRUNING_SEED_STRIPE_SHIFT = 0
 
static constexpr uint32_t PRUNING_SEED_STRIPE_MASK = 0x7f
 
static const std::chrono::seconds rpc_timeout = std::chrono::minutes(3) + std::chrono::seconds(30)
 

Detailed Description

Various Tools.

Typedef Documentation

◆ download_async_handle

◆ ub_result_ptr

typedef class scoped_ptr< ub_result, ub_resolve_free > tools::ub_result_ptr

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Error codes for varint.

Enumerator
EVARINT_OVERFLOW 
EVARINT_REPRESENT 

Function Documentation

◆ add_anchors()

static void tools::add_anchors ( ub_ctx *  ctx)
static

◆ apply_permutation() [1/2]

template<typename F >
void tools::apply_permutation ( std::vector< size_t >  permutation,
const F swap 
)

◆ apply_permutation() [2/2]

template<typename T >
void tools::apply_permutation ( const std::vector< size_t > &  permutation,
std::vector< T > &  v 
)

◆ check_block_hard_fork_version()

void tools::check_block_hard_fork_version ( cryptonote::network_type  nettype,
uint8_t  hf_version,
uint64_t  height,
bool wallet_is_outdated,
bool daemon_is_outdated 
)

◆ check_rpc_cost()

static void tools::check_rpc_cost ( rpc_payment_state_t rpc_payment_state,
const char *  call,
uint64_t  post_call_credits,
uint64_t  pre_call_credits,
double  expected_cost 
)
inlinestatic

◆ check_updates()

bool tools::check_updates ( const std::string &  software,
const std::string &  buildtag,
std::string &  version,
std::string &  hash 
)

◆ clear_screen()

void tools::clear_screen ( )

◆ closefrom()

void tools::closefrom ( int  fd)

◆ combinations_count()

uint64_t tools::combinations_count ( uint32_t  k,
uint32_t  n 
)

◆ copy_file()

void tools::copy_file ( const std::string &  from,
const std::string &  to 
)

◆ create_directories_if_necessary()

bool tools::create_directories_if_necessary ( const std::string &  path)

creates directories for a path

wrapper around boost::filesyste::create_directories.
(ensure-directory-exists): greenspun's tenth rule in action!

◆ cumulative_block_sync_weight()

uint64_t tools::cumulative_block_sync_weight ( cryptonote::network_type  nettype,
uint64_t  start_block,
uint64_t  num_blocks 
)

◆ decodeRct()

static uint64_t tools::decodeRct ( const rct::rctSig rv,
const crypto::key_derivation derivation,
unsigned int  i,
rct::key mask,
hw::device hwdev 
)
static

◆ disable_core_dumps()

bool tools::disable_core_dumps ( )

◆ download()

bool tools::download ( const std::string &  path,
const std::string &  url,
std::function< bool(const std::string &, const std::string &, size_t, ssize_t)>  cb 
)

◆ download_async()

download_async_handle tools::download_async ( const std::string &  path,
const std::string &  url,
std::function< void(const std::string &, const std::string &, bool)>  result,
std::function< bool(const std::string &, const std::string &, size_t, ssize_t)>  progress 
)

◆ download_cancel()

bool tools::download_cancel ( const download_async_handle control)

◆ download_error()

bool tools::download_error ( const download_async_handle control)

◆ download_finished()

bool tools::download_finished ( const download_async_handle control)

◆ download_thread()

static void tools::download_thread ( download_async_handle  control)
static

◆ download_wait()

bool tools::download_wait ( const download_async_handle control)

◆ fail_msg_writer()

scoped_message_writer tools::fail_msg_writer ( )
inline

◆ fill() [1/2]

template<typename T , typename V >
static bool tools::fill ( T where,
s 
)
static

◆ fill() [2/2]

template<typename T , typename V >
static bool tools::fill ( std::list< T > &  where,
s 
)
static

◆ get_count_above()

static uint32_t tools::get_count_above ( const std::vector< wallet2::transfer_details > &  transfers,
const std::vector< size_t > &  indices,
uint64_t  threshold 
)
static

◆ get_custom_background_key()

void tools::get_custom_background_key ( const epee::wipeable_string password,
crypto::chacha_key &  custom_background_key,
const uint64_t  kdf_rounds 
)

◆ get_default_data_dir()

std::string tools::get_default_data_dir ( )

Returns the default data directory.

Windows < Vista: C:\Documents and Settings\Username\Application Data\CRYPTONOTE_NAME

Windows >= Vista: C:\Users\Username\AppData\Roaming\CRYPTONOTE_NAME

Mac: ~/Library/Application Support/CRYPTONOTE_NAME

Unix: ~/.CRYPTONOTE_NAME

◆ get_human_readable_bytes()

std::string tools::get_human_readable_bytes ( uint64_t  bytes)

◆ get_human_readable_timespan()

std::string tools::get_human_readable_timespan ( uint64_t  seconds)

◆ get_human_readable_timestamp()

std::string tools::get_human_readable_timestamp ( uint64_t  ts)

◆ get_lockable_memory()

ssize_t tools::get_lockable_memory ( )

◆ get_max_concurrency()

unsigned tools::get_max_concurrency ( )

◆ get_message_hash()

static crypto::hash tools::get_message_hash ( const std::string &  data,
const crypto::public_key spend_key,
const crypto::public_key view_key,
const uint8_t  mode 
)
static

◆ get_next_pruned_block_height()

uint64_t tools::get_next_pruned_block_height ( uint64_t  block_height,
uint64_t  blockchain_height,
uint32_t  pruning_seed 
)

◆ get_next_unpruned_block_height()

uint64_t tools::get_next_unpruned_block_height ( uint64_t  block_height,
uint64_t  blockchain_height,
uint32_t  pruning_seed 
)

◆ get_nix_version_display_string()

std::string tools::get_nix_version_display_string ( )

◆ get_os_version_string()

std::string tools::get_os_version_string ( )

Returns the OS version string.

This is a wrapper around the primitives get_windows_version_display_string() and get_nix_version_display_string()

◆ get_pruning_log_stripes()

constexpr uint32_t tools::get_pruning_log_stripes ( uint32_t  pruning_seed)
inline

◆ get_pruning_seed()

uint32_t tools::get_pruning_seed ( uint64_t  block_height,
uint64_t  blockchain_height,
uint32_t  log_stripes 
)

◆ get_pruning_stripe() [1/2]

uint32_t tools::get_pruning_stripe ( uint32_t  pruning_seed)
inline

◆ get_pruning_stripe() [2/2]

uint32_t tools::get_pruning_stripe ( uint64_t  block_height,
uint64_t  blockchain_height,
uint32_t  log_stripes 
)

◆ get_random_stripe()

uint32_t tools::get_random_stripe ( )

◆ get_record_name()

static const char* tools::get_record_name ( int  record_type)
static

◆ get_string_prefix_by_width()

std::pair<std::string, size_t> tools::get_string_prefix_by_width ( const std::string &  s,
size_t  columns 
)

◆ get_string_width()

size_t tools::get_string_width ( const std::string &  s)

◆ get_tick_count()

uint64_t tools::get_tick_count ( )

◆ get_ticks_per_ns()

uint64_t tools::get_ticks_per_ns ( )

◆ get_update_url()

std::string tools::get_update_url ( const std::string &  software,
const std::string &  subdir,
const std::string &  buildtag,
const std::string &  version,
bool  user 
)

◆ get_varint_data()

template<typename T >
std::string tools::get_varint_data ( const T v)

Returns the string that represents the varint.

◆ glob_to_regex()

std::string tools::glob_to_regex ( const std::string &  val)

◆ has_nonrequested_tx_at_height_or_above_requested()

bool tools::has_nonrequested_tx_at_height_or_above_requested ( uint64_t  height,
const std::unordered_set< crypto::hash > &  requested_txids,
const wallet2::transfer_container transfers,
const wallet2::payment_container payments,
const serializable_unordered_map< crypto::hash, wallet2::confirmed_transfer_details > &  confirmed_txs 
)

◆ has_unpruned_block()

bool tools::has_unpruned_block ( uint64_t  block_height,
uint64_t  blockchain_height,
uint32_t  pruning_seed 
)

◆ ipv4_to_string()

boost::optional<std::string> tools::ipv4_to_string ( const char *  src,
size_t  len 
)

◆ ipv6_to_string()

boost::optional<std::string> tools::ipv6_to_string ( const char *  src,
size_t  len 
)

◆ is_error_value() [1/2]

template<typename T >
static bool tools::is_error_value ( const T val)
static

◆ is_error_value() [2/2]

static bool tools::is_error_value ( const std::string &  s)
static

◆ is_hdd()

boost::optional< bool > tools::is_hdd ( const char *  file_path)

◆ is_local_address()

bool tools::is_local_address ( const std::string &  address)

◆ is_privacy_preserving_network()

bool tools::is_privacy_preserving_network ( const std::string &  address)

◆ log_stack_trace()

void tools::log_stack_trace ( const char *  msg)

◆ make_pruning_seed()

uint32_t tools::make_pruning_seed ( uint32_t  stripe,
uint32_t  log_stripes 
)

◆ msg_writer()

scoped_message_writer tools::msg_writer ( epee::console_colors  color = epee::console_color_default)
inline

◆ on_startup()

bool tools::on_startup ( )

◆ outs_unique()

std::pair<std::set<uint64_t>, size_t> tools::outs_unique ( const std::vector< std::vector< tools::wallet2::get_outs_entry >> &  outs)

◆ parse_subaddress_lookahead()

boost::optional< std::pair< uint32_t, uint32_t > > tools::parse_subaddress_lookahead ( const std::string &  str)

◆ ptx_to_string()

static std::string tools::ptx_to_string ( const tools::wallet2::pending_tx ptx)
static

◆ read_pool_txs()

void tools::read_pool_txs ( const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::request req,
const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::response res,
bool  r,
const std::vector< crypto::hash > &  txids,
std::vector< std::tuple< cryptonote::transaction, crypto::hash, bool >> &  txs 
)

◆ reattach_blockchain()

void tools::reattach_blockchain ( hashchain blockchain,
wallet2::detached_blockchain_data dbd 
)

◆ replace()

static void tools::replace ( std::vector< std::string > &  v,
const char *  tag,
const char *  s 
)
static

◆ replace_file()

std::error_code tools::replace_file ( const std::string &  old_name,
const std::string &  new_name 
)

std::rename wrapper for nix and something strange for windows.

◆ sanitize_locale()

bool tools::sanitize_locale ( )

◆ serialize_obj_to_file()

template<class t_object >
bool tools::serialize_obj_to_file ( t_object &  obj,
const std::string &  file_path 
)

◆ set_max_concurrency()

void tools::set_max_concurrency ( unsigned  n)

◆ set_performance_timer_log_level()

void tools::set_performance_timer_log_level ( el::Level  level)

◆ set_stack_trace_log()

void tools::set_stack_trace_log ( const std::string &  log)

◆ set_strict_default_file_permissions()

void tools::set_strict_default_file_permissions ( bool  strict)

◆ setup_crash_dump()

static void tools::setup_crash_dump ( )
static

◆ sha256sum() [1/2]

bool tools::sha256sum ( const uint8_t data,
size_t  len,
crypto::hash hash 
)

Creates a SHA-256 digest of a data buffer.

Parameters
[in]datapointer to the buffer
[in]lensize of the buffer in bytes
[out]hashwhere message digest will be written to
Returns
true if successful, false otherwise

◆ sha256sum() [2/2]

bool tools::sha256sum ( const std::string &  filename,
crypto::hash hash 
)

Creates a SHA-256 digest of a file's contents, equivalent to the sha256sum command in Linux.

Parameters
[in]filenamepath to target file
[out]hashwhere message digest will be written to
Returns
true if successful, false if the file can not be opened or there is an OpenSSL failure
Exceptions
ios_base::failureif after the file is successfully opened, an error occurs during reading

◆ spawn()

int tools::spawn ( const char *  filename,
const std::vector< std::string > &  args,
bool  wait 
)

◆ split_line_by_width()

std::vector<std::pair<std::string, size_t> > tools::split_line_by_width ( const std::string &  s,
size_t  columns 
)

◆ split_string_by_width()

std::vector< std::pair< std::string, size_t > > tools::split_string_by_width ( const std::string &  s,
size_t  columns 
)

◆ success_msg_writer()

scoped_message_writer tools::success_msg_writer ( bool  color = true)
inline

◆ ticks_to_ns()

uint64_t tools::ticks_to_ns ( uint64_t  ticks)

◆ tlsa_to_string()

boost::optional<std::string> tools::tlsa_to_string ( const char *  src,
size_t  len 
)

◆ total_amount()

static uint64_t tools::total_amount ( const tools::wallet2::pending_tx ptx)
static

◆ txt_to_string()

boost::optional<std::string> tools::txt_to_string ( const char *  src,
size_t  len 
)

◆ unbound_built_with_threads()

static bool tools::unbound_built_with_threads ( )
static

◆ unserialize_obj_from_file()

template<class t_object >
bool tools::unserialize_obj_from_file ( t_object &  obj,
const std::string &  file_path 
)

◆ utf8canonical()

template<typename T , typename Transform >
T tools::utf8canonical ( const T s,
Transform  t = [](wint_t c)->wint_t { return c; } 
)
inline

◆ validate_background_cache_password_usage()

void tools::validate_background_cache_password_usage ( const tools::wallet2::BackgroundSyncType  background_sync_type,
const boost::optional< epee::wipeable_string > &  background_cache_password,
const bool  multisig,
const bool  watch_only,
const bool  key_on_device 
)

◆ vercmp()

int tools::vercmp ( const char *  v0,
const char *  v1 
)

◆ write_varint()

template<typename OutputIt , typename T >
std::enable_if<std::is_integral<T>::value && std::is_unsigned<T>::value, void>::type tools::write_varint ( OutputIt &&  dest,
T  i 
)

writes a varint to a stream.

Variable Documentation

◆ DNS_CLASS_IN

constexpr const int tools::DNS_CLASS_IN = 1

◆ DNS_TYPE_A

constexpr const int tools::DNS_TYPE_A = 1

◆ DNS_TYPE_AAAA

constexpr const int tools::DNS_TYPE_AAAA = 8

◆ DNS_TYPE_TLSA

constexpr const int tools::DNS_TYPE_TLSA = 52

◆ DNS_TYPE_TXT

constexpr const int tools::DNS_TYPE_TXT = 16

◆ performance_timer_log_level

el::Level tools::performance_timer_log_level = el::Level::Info

◆ performance_timers

__thread std::vector<LoggingPerformanceTimer*>* tools::performance_timers = NULL
static

◆ PRUNING_SEED_LOG_STRIPES_MASK

constexpr uint32_t tools::PRUNING_SEED_LOG_STRIPES_MASK = 0x7
static

◆ PRUNING_SEED_LOG_STRIPES_SHIFT

constexpr uint32_t tools::PRUNING_SEED_LOG_STRIPES_SHIFT = 7
static

◆ PRUNING_SEED_STRIPE_MASK

constexpr uint32_t tools::PRUNING_SEED_STRIPE_MASK = 0x7f
static

◆ PRUNING_SEED_STRIPE_SHIFT

constexpr uint32_t tools::PRUNING_SEED_STRIPE_SHIFT = 0
static

◆ rpc_timeout

const std::chrono::seconds tools::rpc_timeout = std::chrono::minutes(3) + std::chrono::seconds(30)
static