|
libwebsockets
Lightweight C library for HTML5 websockets
|
Include dependency graph for lws-dht.h:Go to the source code of this file.
Data Structures | |
| struct | lws_dht_hash |
| struct | lws_dht_msg |
| struct | lws_dht_stats |
| struct | lws_dht_verb_dispatch_args |
| struct | lws_dht_info |
Macros | |
| #define | LWS_DHT_SHA1_HASH_LEN 20 |
| #define | LWS_DHT_STAT_BUCKETS 48 |
| #define | DHT_MAX_PEERS 2048 |
| #define | DHT_MAX_HASHES 16384 |
| #define | DHT_MAX_SEARCHES 1024 |
| #define | DHT_SEARCH_EXPIRE_TIME (62 * 60) |
Typedefs | |
| typedef struct lws_dht_hash | lws_dht_hash_t |
| typedef void | lws_dht_callback_t(void *closure, int event, const lws_dht_hash_t *info_hash, const void *data, size_t data_len, const struct sockaddr *from, size_t fromlen) |
| typedef int | lws_dht_blacklist_cb_t(const struct sockaddr *sa, size_t salen) |
| typedef void | lws_dht_hash_cb_t(void *hash_return, int hash_size, const void *v1, int len1, const void *v2, int len2, const void *v3, int len3) |
| typedef void | lws_dht_capture_announce_cb_t(struct lws_dht_ctx *ctx, lws_dht_hash_t *hash, const struct sockaddr *fromaddr, unsigned short prt) |
| typedef struct lws_dht_info | lws_dht_info_t |
Enumerations | |
| enum | { LWS_DHT_HASH_TYPE_UNKNOWN = 0 , LWS_DHT_HASH_TYPE_SHA1 = 0x11 , LWS_DHT_HASH_TYPE_SHA256 = 0x12 , LWS_DHT_HASH_TYPE_SHA512 = 0x13 , LWS_DHT_HASH_TYPE_BLAKE3 = 0x1e } |
| enum | lws_dht_verb_result_t { LWS_DHT_VERB_RESULT_PROCEED = 0 , LWS_DHT_VERB_RESULT_DROP_OLDER = 1 , LWS_DHT_VERB_RESULT_REPLACE_OLDER = 2 , LWS_DHT_VERB_RESULT_PENDING_ASYNC = 3 , LWS_DHT_VERB_RESULT_PASS = 4 , LWS_DHT_VERB_RESULT_ERROR = -1 } |
| enum | lws_dht_event_t { LWS_DHT_EVENT_NONE , LWS_DHT_EVENT_VALUES , LWS_DHT_EVENT_VALUES6 , LWS_DHT_EVENT_SEARCH_DONE , LWS_DHT_EVENT_SEARCH_DONE6 , LWS_DHT_EVENT_EXTERNAL_ADDR , LWS_DHT_EVENT_EXTERNAL_ADDR6 , LWS_DHT_EVENT_DATA , LWS_DHT_EVENT_WRITE_COMPLETED , LWS_DHT_EVENT_WRITE_FAILED , LWS_DHT_EVENT_NOTIFY , LWS_DHT_EVENT_TOKEN } |
Functions | |
| LWS_VISIBLE LWS_EXTERN lws_dht_hash_t * | lws_dht_hash_create (int type, int len, const uint8_t *data) |
| LWS_VISIBLE LWS_EXTERN void | lws_dht_hash_destroy (lws_dht_hash_t **p) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_get_stats (struct lws_vhost *vh, struct lws_dht_stats *current, const struct lws_dht_stats **history, int *head) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_send_subscribe (struct lws_dht_ctx *ctx, const struct sockaddr *sa, size_t salen, uint8_t *tid, size_t tid_len, const lws_dht_hash_t *infohash, int want, int confirm) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_send_subscribe_confirm (struct lws_dht_ctx *ctx, const struct sockaddr *sa, size_t salen, uint8_t *tid, size_t tid_len, const lws_dht_hash_t *infohash, uint8_t *token, size_t token_len, const uint8_t *sha256, int confirm) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_send_ack (struct lws_dht_ctx *ctx, const struct sockaddr *sa, size_t salen, const uint8_t *tid, size_t tid_len) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_msg_parse (const char *in, size_t len, struct lws_dht_msg *out) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_msg_gen (char *out, size_t len, const char *verb, const char *hash, unsigned long long offset, unsigned long long len_val) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_register_verbs (struct lws_dht_ctx *ctx, const char **verbs, int count, const struct lws_protocols *protocol) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_notify_subscribers (struct lws_dht_ctx *ctx, const lws_dht_hash_t *hash, const uint8_t *sha256) |
| LWS_VISIBLE LWS_EXTERN struct lws_dht_ctx * | lws_dht_create (const lws_dht_info_t *info) |
| LWS_VISIBLE LWS_EXTERN void * | lws_dht_get_closure (struct lws_dht_ctx *ctx) |
| LWS_VISIBLE LWS_EXTERN const lws_dht_hash_t * | lws_dht_get_myid (struct lws_dht_ctx *ctx) |
| LWS_VISIBLE LWS_EXTERN void | lws_dht_destroy (struct lws_dht_ctx **pctx) |
| LWS_VISIBLE LWS_EXTERN struct lws_dht_ctx * | lws_dht_get_by_name (struct lws_vhost *vhost, const char *name) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_insert_node (struct lws_dht_ctx *ctx, const lws_dht_hash_t *id, struct sockaddr *sa, size_t salen) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_ping_node (struct lws_dht_ctx *ctx, struct sockaddr *sa, size_t salen) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_send_data (struct lws_dht_ctx *ctx, const struct sockaddr *dest, const void *data, size_t len) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_send_data_at (struct lws_dht_ctx *ctx, const struct sockaddr *dest, uint64_t offset, const void *data, size_t len) |
| LWS_VISIBLE LWS_EXTERN struct lws_transport_sequencer * | lws_dht_get_ts (struct lws_dht_ctx *ctx, const struct sockaddr *dest, size_t salen, int create) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_search (struct lws_dht_ctx *ctx, const lws_dht_hash_t *id, int port, int af, lws_dht_callback_t *callback, void *closure) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_nodes (struct lws_dht_ctx *ctx, int af, int *good_return, int *dubious_return, int *cached_return, int *incoming_return) |
| LWS_VISIBLE LWS_EXTERN void | lws_dht_dump_tables (struct lws_dht_ctx *ctx) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_get_nodes (struct lws_dht_ctx *ctx, struct sockaddr_in *sin, int *num, struct sockaddr_in6 *sin6, int *num6) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_get_external_addr (struct lws_dht_ctx *ctx, struct sockaddr_storage *ss, size_t *sslen) |
| LWS_VISIBLE LWS_EXTERN int | lws_dht_get_fallback_node (struct lws_context *cx, const char *custom_path, char *result, size_t result_len) |
Variables | |
| const struct lws_protocols | lws_dht_protocol |