|
My Project 2.4.4
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 | CertificateStoreQuery = std::function< std::vector< std::shared_ptr< crypto::Certificate > >(const InfoHash &pk_id)> |
| typedef bool(* | GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
| typedef bool(* | ValueCallbackRaw) (std::shared_ptr< Value >, bool expired, 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 | 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 | 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 } |
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 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 (const std::string &s) |
| time_point | from_time_t (std::time_t t) |
| std::time_t | to_time_t (time_point t) |
| std::string | to_str (double d) |
| template<class DT > | |
| static double | print_dt (DT d) |
| 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 | |
| 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 |
| 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 52 of file infohash.h.
| using dht::CertificateStoreQuery = typedef std::function<std::vector<std::shared_ptr<crypto::Certificate> >(const InfoHash& pk_id)> |
Definition at line 174 of file callbacks.h.
| using dht::DoneCallback = typedef std::function<void(bool success, const std::vector<std::shared_ptr<Node> >& nodes)> |
Definition at line 179 of file callbacks.h.
| typedef void(* dht::DoneCallbackRaw) (bool, std::vector< std::shared_ptr< Node > > *, void *user_data) |
Definition at line 180 of file callbacks.h.
| using dht::DoneCallbackSimple = typedef std::function<void(bool success)> |
Definition at line 185 of file callbacks.h.
| typedef void(* dht::DoneCallbackSimpleRaw) (bool, void *user_data) |
Definition at line 182 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 183 of file callbacks.h.
| using dht::GetCallback = typedef std::function<bool(const std::vector<std::shared_ptr<Value> >& values)> |
Definition at line 168 of file callbacks.h.
| typedef bool(* dht::GetCallbackRaw) (std::shared_ptr< Value >, void *user_data) |
Definition at line 176 of file callbacks.h.
| using dht::GetCallbackSimple = typedef std::function<bool(std::shared_ptr<Value> value)> |
Definition at line 170 of file callbacks.h.
Definition at line 281 of file infohash.h.
| using dht::IdentityAnnouncedCb = typedef std::function<void(bool)> |
Definition at line 172 of file callbacks.h.
| using dht::InfoHash = typedef Hash<HASH_LEN> |
Definition at line 280 of file infohash.h.
Definition at line 282 of file infohash.h.
| using dht::QueryCallback = typedef std::function<bool(const std::vector<std::shared_ptr<FieldValueIndex> >& fields)> |
Definition at line 167 of file callbacks.h.
| using dht::RequestStatus = typedef restinio::request_handling_status_t |
Definition at line 62 of file dht_proxy_server.h.
| using dht::RestRouter = typedef restinio::router::express_router_t<> |
Definition at line 61 of file dht_proxy_server.h.
| using dht::ShutdownCallback = typedef std::function<void()> |
Definition at line 171 of file callbacks.h.
| typedef void(* dht::ShutdownCallbackRaw) (void *user_data) |
Definition at line 181 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 169 of file callbacks.h.
| typedef bool(* dht::ValueCallbackRaw) (std::shared_ptr< Value >, bool expired, void *user_data) |
Definition at line 177 of file callbacks.h.
Definition at line 165 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 285 of file infohash.h.
| std::istream & dht::operator>> | ( | std::istream & | s, |
| Hash< N > & | h | ||
| ) |
Definition at line 292 of file infohash.h.
| Blob dht::packMsg | ( | const Type & | t | ) |
|
static |
|
static |
|
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">.
|
inlineconstexpr |
Definition at line 49 of file callbacks.h.
|
inline |
Definition at line 370 of file infohash.h.
|
inline |
Definition at line 359 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 374 of file securedht.h.
|
staticconstexpr |
Definition at line 163 of file callbacks.h.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 26 of file routing_table.h.