|
My Project 3.5.5
C++ Distributed Hash Table
|
Namespaces | |
| namespace | crypto |
| namespace | log |
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 | IdentityAnnouncedCb = std::function<void(bool)> |
| using | PublicAddressChangedCb = std::function<void(std::vector<SockAddr>)> |
| using | CertificateStoreQueryLegacy = std::function<std::vector<std::shared_ptr<crypto::Certificate>>(const InfoHash& pk_id)> |
| using | CertificateStoreQuery = std::function<std::vector<std::shared_ptr<crypto::Certificate>>(const PkId& pk_id)> |
| using | DoneCallback = std::function<void(bool success, const std::vector<std::shared_ptr<Node>>& nodes)> |
| using | DoneCallbackSimple = std::function<void(bool success)> |
| typedef bool(* | GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
| typedef bool(* | ValueCallbackRaw) (std::shared_ptr< Value >, bool expired, void *user_data) |
| 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 | RestRouter = restinio::router::express_router_t<> |
| using | RequestStatus = restinio::request_handling_status_t |
| using | byte = uint8_t |
| using | InfoHash = Hash<HASH_LEN> |
| using | h256 = Hash<32> |
| using | PkId = h256 |
| using | Logger = log::Logger |
| 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 | system_clock = std::chrono::system_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 } |
| enum class | PushType { None = 0 , Android , iOS , UnifiedPush } |
Functions | |
| constexpr const char * | statusToStr (NodeStatus status) |
| OPENDHT_PUBLIC GetCallbackSimple | bindGetCb (GetCallbackRaw raw_cb, void *user_data) |
| OPENDHT_PUBLIC GetCallback | bindGetCb (GetCallbackSimple cb) |
| OPENDHT_PUBLIC ValueCallback | bindValueCb (ValueCallbackRaw raw_cb, void *user_data) |
| 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) |
| std::string | toHex (const uint8_t *data, size_t size) |
| std::string | toHex (const std::vector< uint8_t > &data) |
| OPENDHT_PUBLIC void | print_addr (std::ostream &os, const sockaddr *sa, socklen_t slen) |
| 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) |
| OPENDHT_PUBLIC const char * | version () |
| 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 (std::string_view s) |
| time_point | from_time_t (std::time_t t) |
| std::time_t | to_time_t (time_point t) |
| template<class DT> | |
| static std::string | print_duration (DT d) |
| template<class TimePoint> | |
| static std::string | print_time_relative (TimePoint now, TimePoint d) |
| OPENDHT_PUBLIC Blob | unpackBlob (const 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 (const msgpack::object &map, const char *key, size_t length) |
| msgpack::object * | findMapValue (const msgpack::object &map, const char *key) |
| msgpack::object * | findMapValue (const msgpack::object &map, std::string_view key) |
| static constexpr auto | VALUE_KEY_ID ("id") |
| static const std::string | VALUE_KEY_DAT ("dat") |
| static const std::string | VALUE_KEY_PRIO ("p") |
| static const std::string | VALUE_KEY_SIGNATURE ("sig") |
| static const std::string | VALUE_KEY_SEQ ("seq") |
| static const std::string | VALUE_KEY_DATA ("data") |
| static const std::string | VALUE_KEY_OWNER ("owner") |
| static const std::string | VALUE_KEY_TYPE ("type") |
| static const std::string | VALUE_KEY_TO ("to") |
| static const std::string | VALUE_KEY_BODY ("body") |
| static const std::string | VALUE_KEY_USERTYPE ("utype") |
| 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 | |
| enum OPENDHT_PUBLIC | PushNotificationResult |
| enum OPENDHT_PUBLIC | ListenRefresh |
| enum OPENDHT_PUBLIC | Values |
| enum OPENDHT_PUBLIC | ValuesExpired |
| enum OPENDHT_PUBLIC | IgnoredWrongSession = 0x80 |
| enum OPENDHT_PUBLIC | IgnoredNoOp |
| enum OPENDHT_PUBLIC | IgnoredStopped |
| enum OPENDHT_PUBLIC | IgnoredDisabled |
| enum OPENDHT_PUBLIC | Error |
| 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 |
| constexpr HexMap | hex_map {} |
| static constexpr unsigned | TARGET_NODES {8} |
| const ValueType | CERTIFICATE_TYPE |
| static constexpr const size_t | MAX_VALUE_SIZE {1024 * 64} |
| static constexpr const duration | DEFAULT_VALUE_EXPIRATION {std::chrono::minutes(10)} |
OpenDHT C++ namespace
| using dht::Blob = std::vector<uint8_t> |
| using dht::byte = uint8_t |
Definition at line 54 of file infohash.h.
| using dht::CertificateStoreQuery = std::function<std::vector<std::shared_ptr<crypto::Certificate>>(const PkId& pk_id)> |
Definition at line 193 of file callbacks.h.
| using dht::CertificateStoreQueryLegacy = std::function<std::vector<std::shared_ptr<crypto::Certificate>>(const InfoHash& pk_id)> |
Definition at line 192 of file callbacks.h.
| using dht::DoneCallback = std::function<void(bool success, const std::vector<std::shared_ptr<Node>>& nodes)> |
Definition at line 195 of file callbacks.h.
| typedef void(* dht::DoneCallbackRaw) (bool, std::vector< std::shared_ptr< Node > > *, void *user_data) |
Definition at line 200 of file callbacks.h.
| using dht::DoneCallbackSimple = std::function<void(bool success)> |
Definition at line 196 of file callbacks.h.
| typedef void(* dht::DoneCallbackSimpleRaw) (bool, void *user_data) |
Definition at line 202 of file callbacks.h.
| using dht::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)> |
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 203 of file callbacks.h.
| using dht::GetCallback = std::function<bool(const std::vector<std::shared_ptr<Value>>& values)> |
Definition at line 185 of file callbacks.h.
| typedef bool(* dht::GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
Definition at line 198 of file callbacks.h.
| using dht::GetCallbackSimple = std::function<bool(std::shared_ptr<Value> value)> |
Definition at line 187 of file callbacks.h.
Definition at line 284 of file infohash.h.
| using dht::IdentityAnnouncedCb = std::function<void(bool)> |
Definition at line 189 of file callbacks.h.
| using dht::InfoHash = Hash<HASH_LEN> |
Definition at line 283 of file infohash.h.
| using dht::Logger = log::Logger |
Definition at line 285 of file infohash.h.
| using dht::PublicAddressChangedCb = std::function<void(std::vector<SockAddr>)> |
Definition at line 190 of file callbacks.h.
| using dht::QueryCallback = std::function<bool(const std::vector<std::shared_ptr<FieldValueIndex>>& fields)> |
Definition at line 184 of file callbacks.h.
| using dht::RequestStatus = restinio::request_handling_status_t |
Definition at line 63 of file dht_proxy_server.h.
| using dht::RestRouter = restinio::router::express_router_t<> |
Definition at line 62 of file dht_proxy_server.h.
| using dht::ShutdownCallback = std::function<void()> |
Definition at line 188 of file callbacks.h.
| typedef void(* dht::ShutdownCallbackRaw) (void *user_data) |
Definition at line 201 of file callbacks.h.
| using dht::SocketCb = std::function<void(const Sp<Node>&, net::RequestAnswer&&)> |
| using dht::StorePolicy = 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 = std::function<bool(const std::vector<std::shared_ptr<Value>>& values, bool expired)> |
Definition at line 186 of file callbacks.h.
| typedef bool(* dht::ValueCallbackRaw) (std::shared_ptr< Value >, bool expired, void *user_data) |
Definition at line 199 of file callbacks.h.
Definition at line 182 of file callbacks.h.
|
strong |
Definition at line 25 of file default_types.h.
|
strong |
Current status of a DHT node.
Definition at line 42 of file callbacks.h.
|
strong |
Definition at line 40 of file dht_proxy_server.h.
| void dht::erase_if | ( | std::map< Key, Item > & | map, |
| const Condition & | condition ) |
|
inline |
|
inline |
| Value::Filter dht::getFilterSet | ( | ) |
| Value::Filter dht::getFilterSet | ( | Value::Filter | f | ) |
| std::ostream & dht::operator<< | ( | std::ostream & | s, |
| const Hash< N > & | h ) |
Definition at line 288 of file infohash.h.
| std::istream & dht::operator>> | ( | std::istream & | s, |
| Hash< N > & | h ) |
Definition at line 295 of file infohash.h.
|
static |
|
static |
| OPENDHT_PUBLIC std::pair< std::string, std::string > dht::splitPort | ( | std::string_view | s | ) |
Split "[host]:port" or "host:port" to pair<"host", "port">.
|
inlineconstexpr |
Definition at line 49 of file callbacks.h.
|
inline |
Definition at line 373 of file infohash.h.
|
inline |
Definition at line 362 of file infohash.h.
| OPENDHT_PUBLIC Blob dht::unpackBlob | ( | const 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 397 of file securedht.h.
|
staticconstexpr |
Definition at line 180 of file callbacks.h.
|
staticconstexpr |
| enum OPENDHT_PUBLIC dht::Error |
Definition at line 177 of file callbacks.h.
|
inlineconstexpr |
Definition at line 359 of file infohash.h.
| enum OPENDHT_PUBLIC dht::IgnoredDisabled |
Definition at line 176 of file callbacks.h.
| enum OPENDHT_PUBLIC dht::IgnoredNoOp |
Definition at line 174 of file callbacks.h.
| enum OPENDHT_PUBLIC dht::IgnoredStopped |
Definition at line 175 of file callbacks.h.
| enum OPENDHT_PUBLIC dht::IgnoredWrongSession = 0x80 |
Definition at line 173 of file callbacks.h.
| enum OPENDHT_PUBLIC dht::ListenRefresh |
Definition at line 169 of file callbacks.h.
|
strong |
Definition at line 166 of file callbacks.h.
|
staticconstexpr |
Definition at line 26 of file routing_table.h.
| enum OPENDHT_PUBLIC dht::Values |
Definition at line 170 of file callbacks.h.
| enum OPENDHT_PUBLIC dht::ValuesExpired |
Definition at line 171 of file callbacks.h.