forked from Green-Sky/tomato
Squashed 'external/toxcore/c-toxcore/' changes from 82460b2124..38e4c82fe0
38e4c82fe0 feat: add ngc events 8099d82397 diagnostic: get the number of close dht nodes with announce/store support d01c116764 cleanup: make it more clear that assert and uint32_t increment both only exist if NDEBUG is not defined 58fac53429 refactor: Add a `bin_unpack_bin_max` for max-length arrays. 6be29f01e5 chore: Add more logging to loading conferences from savedata. 1195271b7f Fix inversed return values 82276ef5ac cleanup: Fix GCC compatibility. REVERT: 82460b2124 feat: add ngc events git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 38e4c82fe0fc373b9d43ee9ad2b8fe5fd1d26810
This commit is contained in:
@ -533,8 +533,8 @@ int pack_nodes(const Logger *logger, uint8_t *data, uint16_t length, const Node_
|
||||
|
||||
#ifndef NDEBUG
|
||||
const uint32_t increment = ipp_size + CRYPTO_PUBLIC_KEY_SIZE;
|
||||
#endif
|
||||
assert(increment == PACKED_NODE_SIZE_IP4 || increment == PACKED_NODE_SIZE_IP6);
|
||||
#endif
|
||||
}
|
||||
|
||||
return packed_length;
|
||||
@ -565,8 +565,8 @@ int unpack_nodes(Node_format *nodes, uint16_t max_num_nodes, uint16_t *processed
|
||||
|
||||
#ifndef NDEBUG
|
||||
const uint32_t increment = ipp_size + CRYPTO_PUBLIC_KEY_SIZE;
|
||||
#endif
|
||||
assert(increment == PACKED_NODE_SIZE_IP4 || increment == PACKED_NODE_SIZE_IP6);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (processed_data_len != nullptr) {
|
||||
@ -2965,6 +2965,34 @@ bool dht_non_lan_connected(const DHT *dht)
|
||||
return false;
|
||||
}
|
||||
|
||||
uint16_t dht_get_num_closelist(const DHT *dht) {
|
||||
uint16_t num_valid_close_clients = 0;
|
||||
for (uint32_t i = 0; i < LCLIENT_LIST; ++i) {
|
||||
const Client_data *const client = dht_get_close_client(dht, i);
|
||||
|
||||
// check if client is valid
|
||||
if (!(assoc_timeout(dht->cur_time, &client->assoc4) && assoc_timeout(dht->cur_time, &client->assoc6))) {
|
||||
++num_valid_close_clients;
|
||||
}
|
||||
}
|
||||
|
||||
return num_valid_close_clients;
|
||||
}
|
||||
|
||||
uint16_t dht_get_num_closelist_announce_capable(const DHT *dht) {
|
||||
uint16_t num_valid_close_clients_with_cap = 0;
|
||||
for (uint32_t i = 0; i < LCLIENT_LIST; ++i) {
|
||||
const Client_data *const client = dht_get_close_client(dht, i);
|
||||
|
||||
// check if client is valid
|
||||
if (!(assoc_timeout(dht->cur_time, &client->assoc4) && assoc_timeout(dht->cur_time, &client->assoc6)) && client->announce_node) {
|
||||
++num_valid_close_clients_with_cap;
|
||||
}
|
||||
}
|
||||
|
||||
return num_valid_close_clients_with_cap;
|
||||
}
|
||||
|
||||
unsigned int ipport_self_copy(const DHT *dht, IP_Port *dest)
|
||||
{
|
||||
ipport_reset(dest);
|
||||
|
Reference in New Issue
Block a user