|
template<typename T > |
T | unpack () |
|
bool | isEncrypted () const |
|
bool | isSigned () const |
|
void | sign (const crypto::PrivateKey &key) |
|
bool | checkSignature () const |
|
std::shared_ptr< const crypto::PublicKey > | getOwner () const |
|
Value | encrypt (const crypto::PrivateKey &from, const crypto::PublicKey &to) |
|
| Value (Id id) |
|
| Value (ValueType::Id t, const Blob &data, Id id=INVALID_ID) |
|
| Value (ValueType::Id t, Blob &&data, Id id=INVALID_ID) |
|
| Value (ValueType::Id t, const uint8_t *dat_ptr, size_t dat_len, Id id=INVALID_ID) |
|
template<typename Type > |
| Value (ValueType::Id t, const Type &d, Id id=INVALID_ID) |
|
template<typename Type > |
| Value (const ValueType &t, const Type &d, Id id=INVALID_ID) |
|
| Value (const Blob &userdata) |
|
| Value (Blob &&userdata) |
|
| Value (const uint8_t *dat_ptr, size_t dat_len) |
|
| Value (Value &&o) noexcept |
|
template<typename Type > |
| Value (const Type &vs) |
|
| Value (const msgpack::object &o) |
|
bool | operator== (const Value &o) |
|
void | setRecipient (const InfoHash &r) |
|
void | setCypher (Blob &&c) |
|
Blob | getToSign () const |
|
Blob | getToEncrypt () const |
|
std::string | toString () const |
|
size_t | size () const |
|
template<typename Packer > |
void | msgpack_pack_to_sign (Packer &pk) const |
|
template<typename Packer > |
void | msgpack_pack_to_encrypt (Packer &pk) const |
|
template<typename Packer > |
void | msgpack_pack (Packer &pk) const |
|
template<typename Packer > |
void | msgpack_pack_fields (const std::set< Value::Field > &fields, Packer &pk) const |
|
void | msgpack_unpack (msgpack::object o) |
|
void | msgpack_unpack_body (const msgpack::object &o) |
|
Blob | getPacked () const |
|
void | msgpack_unpack_fields (const std::set< Value::Field > &fields, const msgpack::object &o, unsigned offset) |
|
|
static const Filter | AllFilter () |
|
static Filter | TypeFilter (const ValueType &t) |
|
static Filter | TypeFilter (const ValueType::Id &tid) |
|
static Filter | IdFilter (const Id id) |
|
static Filter | RecipientFilter (const InfoHash &r) |
|
static Filter | OwnerFilter (const crypto::PublicKey &pk) |
|
static Filter | OwnerFilter (const InfoHash &pkh) |
|
static Filter | SeqNumFilter (uint16_t seq_no) |
|
static Filter | UserTypeFilter (const std::string &ut) |
|
template<typename T , typename std::enable_if< std::is_base_of< SerializableBase, T >::value, T >::type * = nullptr> |
static Value | pack (const T &obj) |
|
template<typename T , typename std::enable_if<!std::is_base_of< SerializableBase, T >::value, T >::type * = nullptr> |
static Value | pack (const T &obj) |
|
template<typename T , typename std::enable_if< std::is_base_of< SerializableBase, T >::value, T >::type * = nullptr> |
static T | unpack (const Value &v) |
|
template<typename T , typename std::enable_if<!std::is_base_of< SerializableBase, T >::value, T >::type * = nullptr> |
static T | unpack (const Value &v) |
|
A "value" is data potentially stored on the Dht, with some metadata.
It can be an IP:port announced for a service, a public key, or any kind of light user-defined data (recommended: less than 512 bytes).
Values are stored at a given InfoHash in the Dht, but also have a unique ID to distinguish between values stored at the same location.
Definition at line 134 of file value.h.