|
My Project 1.7.4
C++ Distributed Hash Table
|
Namespaces | |
| namespace | crypto |
| namespace | log |
Classes | |
| struct | Bucket |
| struct | Config |
| class | Dht |
| class | DhtException |
| class | DhtInterface |
| class | DhtMessage |
| class | DhtRunner |
| class | EncryptedValue |
| class | FieldValue |
| Describes a value filter. More... | |
| class | FieldValueIndex |
| An index for field values. More... | |
| class | Hash |
| struct | HexMap |
| class | IceCandidates |
| class | ImMessage |
| class | IpServiceAnnouncement |
| struct | Logger |
| struct | LogMethod |
| struct | Node |
| struct | NodeCache |
| struct | NodeExport |
| struct | NodeInfo |
| struct | NodeStats |
| class | Query |
| Describes a query destined to another peer. More... | |
| class | RateLimiter |
| class | RoutingTable |
| class | Scheduler |
| Job scheduler. More... | |
| class | SecureDht |
| struct | SecureDhtConfig |
| class | Select |
| Serializable Value field selection. More... | |
| class | SignedValue |
| class | SockAddr |
| struct | Socket |
| class | SocketException |
| class | TrustRequest |
| class | TypeStore |
| class | uniform_duration_distribution |
| struct | Value |
| struct | ValueType |
| class | Where |
| Serializable dht::Value filter. More... | |
Typedefs | |
| using | ValuesExport = std::pair< InfoHash, Blob > |
| using | QueryCallback = std::function< bool(const std::vector< std::shared_ptr< FieldValueIndex > > &fields)> |
| using | GetCallback = std::function< bool(const std::vector< std::shared_ptr< Value > > &values)> |
| using | ValueCallback = std::function< bool(const std::vector< std::shared_ptr< Value > > &values, bool expired)> |
| using | GetCallbackSimple = std::function< bool(std::shared_ptr< Value > value)> |
| using | ShutdownCallback = std::function< void()> |
| using | CertificateStoreQuery = std::function< std::vector< std::shared_ptr< crypto::Certificate > >(const InfoHash &pk_id)> |
| typedef bool(* | GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
| using | DoneCallback = std::function< void(bool success, const std::vector< std::shared_ptr< Node > > &nodes)> |
| typedef void(* | DoneCallbackRaw) (bool, std::vector< std::shared_ptr< Node > > *, void *user_data) |
| typedef void(* | ShutdownCallbackRaw) (void *user_data) |
| typedef void(* | DoneCallbackSimpleRaw) (bool, void *user_data) |
| typedef bool(* | FilterRaw) (const Value &, void *user_data) |
| using | DoneCallbackSimple = std::function< void(bool success)> |
| using | byte = uint8_t |
| using | InfoHash = Hash< HASH_LEN > |
| using | h256 = Hash< 32 > |
| using | PkId = h256 |
| using | Tid = uint32_t |
| using | SocketCb = std::function< void(const Sp< Node > &, net::RequestAnswer &&)> |
| using | NetId = uint32_t |
| using | want_t = int_fast8_t |
| template<class T > | |
| using | Sp = std::shared_ptr< T > |
| using | clock = std::chrono::steady_clock |
| using | time_point = clock::time_point |
| using | duration = clock::duration |
| using | Blob = std::vector< uint8_t > |
| using | StorePolicy = std::function< bool(InfoHash key, std::shared_ptr< Value > &value, const InfoHash &from, const SockAddr &addr)> |
| using | EditPolicy = std::function< bool(InfoHash key, const std::shared_ptr< Value > &old_val, std::shared_ptr< Value > &new_val, const InfoHash &from, const SockAddr &addr)> |
Enumerations | |
| enum class | NodeStatus { Disconnected , Connecting , Connected } |
| enum class | ImStatus : uint8_t { NONE = 0 , TYPING , RECEIVED , READ } |
Functions | |
| OPENDHT_PUBLIC GetCallbackSimple | bindGetCb (GetCallbackRaw raw_cb, void *user_data) |
| OPENDHT_PUBLIC GetCallback | bindGetCb (GetCallbackSimple cb) |
| OPENDHT_PUBLIC ShutdownCallback | bindShutdownCb (ShutdownCallbackRaw shutdown_cb_raw, void *user_data) |
| OPENDHT_PUBLIC DoneCallback | bindDoneCb (DoneCallbackSimple donecb) |
| OPENDHT_PUBLIC DoneCallback | bindDoneCb (DoneCallbackRaw raw_cb, void *user_data) |
| OPENDHT_PUBLIC DoneCallbackSimple | bindDoneCbSimple (DoneCallbackSimpleRaw raw_cb, void *user_data) |
| OPENDHT_PUBLIC Value::Filter | bindFilterRaw (FilterRaw raw_filter, void *user_data) |
| template<size_t N> | |
| std::ostream & | operator<< (std::ostream &s, const Hash< N > &h) |
| template<size_t N> | |
| std::istream & | operator>> (std::istream &s, Hash< N > &h) |
| void | NOLOG (char const *, va_list) |
| OPENDHT_PUBLIC std::string | print_addr (const sockaddr *sa, socklen_t slen) |
| OPENDHT_PUBLIC std::string | print_addr (const sockaddr_storage &ss, socklen_t sslen) |
| OPENDHT_PUBLIC bool | operator== (const SockAddr &a, const SockAddr &b) |
| template<typename Key , typename Item , typename Condition > | |
| void | erase_if (std::map< Key, Item > &map, const Condition &condition) |
| OPENDHT_PUBLIC std::pair< std::string, std::string > | splitPort (const std::string &s) |
| time_point | from_time_t (std::time_t t) |
| std::time_t | to_time_t (time_point t) |
| template<class DT > | |
| static double | print_dt (DT d) |
| OPENDHT_PUBLIC Blob | unpackBlob (msgpack::object &o) |
| template<typename Type > | |
| Blob | packMsg (const Type &t) |
| template<typename Type > | |
| Type | unpackMsg (Blob b) |
| msgpack::unpacked | unpackMsg (Blob b) |
| msgpack::object * | findMapValue (msgpack::object &map, const std::string &key) |
| template<typename T , typename std::enable_if< std::is_base_of< Value::SerializableBase, T >::value, T >::type * = nullptr> | |
| Value::Filter | getFilterSet (Value::Filter f) |
| template<typename T , typename std::enable_if< std::is_base_of< Value::SerializableBase, T >::value, T >::type * = nullptr> | |
| Value::Filter | getFilterSet () |
| template<class T > | |
| std::vector< T > | unpackVector (const std::vector< std::shared_ptr< Value > > &vals) |
Variables | |
| static constexpr size_t | DEFAULT_STORAGE_LIMIT {1024 * 1024 * 64} |
| OPENDHT_PUBLIC const std::array< std::reference_wrapper< const ValueType >, 5 > | DEFAULT_TYPES |
| OPENDHT_PUBLIC const std::array< std::reference_wrapper< const ValueType >, 1 > | DEFAULT_INSECURE_TYPES |
| OPENDHT_PUBLIC const HexMap | hex_map |
| const InfoHash | zeroes {} |
| static constexpr unsigned | TARGET_NODES {8} |
| const ValueType | CERTIFICATE_TYPE |
| static constexpr const size_t | MAX_VALUE_SIZE {1024 * 64} |
OpenDHT C++ namespace
| using dht::Blob = typedef std::vector<uint8_t> |
| using dht::byte = typedef uint8_t |
Definition at line 50 of file infohash.h.
| using dht::CertificateStoreQuery = typedef std::function<std::vector<std::shared_ptr<crypto::Certificate> >(const InfoHash& pk_id)> |
Definition at line 126 of file callbacks.h.
| using dht::DoneCallback = typedef std::function<void(bool success, const std::vector<std::shared_ptr<Node> >& nodes)> |
Definition at line 133 of file callbacks.h.
| typedef void(* dht::DoneCallbackRaw) (bool, std::vector< std::shared_ptr< Node > > *, void *user_data) |
Definition at line 134 of file callbacks.h.
| using dht::DoneCallbackSimple = typedef std::function<void(bool success)> |
Definition at line 139 of file callbacks.h.
| typedef void(* dht::DoneCallbackSimpleRaw) (bool, void *user_data) |
Definition at line 136 of file callbacks.h.
| using dht::EditPolicy = typedef std::function<bool(InfoHash key, const std::shared_ptr<Value>& old_val, std::shared_ptr<Value>& new_val, const InfoHash& from, const SockAddr& addr)> |
An edition policy is applied once to every incoming value storage requests, if a value already exists for this key and value id. If the policy returns false, the edition request is ignored. The default behavior is to deny edition (see {ValueType::DEFAULT_EDIT_POLICY}). Some {ValueType}s may override this behavior (e.g. SignedValue).
| key | the key where the value is stored. |
| old_val | the previously stored value. |
| new_val | the new value to be stored. The value can be edited by the edit policy. |
| from | id of the requesting node. |
| form_addr | network address of the incoming request. |
| from_len | network address lendth of the incoming request. |
| typedef bool(* dht::FilterRaw) (const Value &, void *user_data) |
Definition at line 137 of file callbacks.h.
| using dht::GetCallback = typedef std::function<bool(const std::vector<std::shared_ptr<Value> >& values)> |
Definition at line 121 of file callbacks.h.
| typedef bool(* dht::GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
Definition at line 128 of file callbacks.h.
| using dht::GetCallbackSimple = typedef std::function<bool(std::shared_ptr<Value> value)> |
Definition at line 123 of file callbacks.h.
Definition at line 269 of file infohash.h.
| using dht::InfoHash = typedef Hash<HASH_LEN> |
Definition at line 268 of file infohash.h.
Definition at line 270 of file infohash.h.
| using dht::QueryCallback = typedef std::function<bool(const std::vector<std::shared_ptr<FieldValueIndex> >& fields)> |
Definition at line 120 of file callbacks.h.
| using dht::ShutdownCallback = typedef std::function<void()> |
Definition at line 124 of file callbacks.h.
| typedef void(* dht::ShutdownCallbackRaw) (void *user_data) |
Definition at line 135 of file callbacks.h.
| using dht::SocketCb = typedef std::function<void(const Sp<Node>&, net::RequestAnswer&&)> |
| using dht::Sp = typedef std::shared_ptr<T> |
| using dht::StorePolicy = typedef std::function<bool(InfoHash key, std::shared_ptr<Value>& value, const InfoHash& from, const SockAddr& addr)> |
A storage policy is applied once to every incoming value storage requests. If the policy returns false, the value is dropped.
| key | the key where the storage is requested. |
| value | the value to be stored. The value can be edited by the storage policy. |
| from | id of the requesting node. |
| form_addr | network address of the incoming request. |
| from_len | network address lendth of the incoming request. |
| using dht::ValueCallback = typedef std::function<bool(const std::vector<std::shared_ptr<Value> >& values, bool expired)> |
Definition at line 122 of file callbacks.h.
Definition at line 118 of file callbacks.h.
|
strong |
Definition at line 25 of file default_types.h.
|
strong |
Current status of a DHT node.
Definition at line 41 of file callbacks.h.
| void dht::erase_if | ( | std::map< Key, Item > & | map, |
| const Condition & | condition | ||
| ) |
| Value::Filter dht::getFilterSet | ( | ) |
| Value::Filter dht::getFilterSet | ( | Value::Filter | f | ) |
|
inline |
Dummy function used to disable logging
Definition at line 38 of file log_enable.h.
| std::ostream & dht::operator<< | ( | std::ostream & | s, |
| const Hash< N > & | h | ||
| ) |
Definition at line 273 of file infohash.h.
| std::istream & dht::operator>> | ( | std::istream & | s, |
| Hash< N > & | h | ||
| ) |
Definition at line 280 of file infohash.h.
| Blob dht::packMsg | ( | const Type & | t | ) |
|
static |
| OPENDHT_PUBLIC std::pair< std::string, std::string > dht::splitPort | ( | const std::string & | s | ) |
Split "[host]:port" or "host:port" to pair<"host", "port">.
| OPENDHT_PUBLIC Blob dht::unpackBlob | ( | msgpack::object & | o | ) |
Provides backward compatibility with msgpack 1.0
| std::vector< T > dht::unpackVector | ( | const std::vector< std::shared_ptr< Value > > & | vals | ) |
| const ValueType dht::CERTIFICATE_TYPE |
Definition at line 352 of file securedht.h.
|
staticconstexpr |
Definition at line 116 of file callbacks.h.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 26 of file routing_table.h.
| const InfoHash dht::zeroes {} |
Definition at line 361 of file infohash.h.