Age | Commit message (Collapse) | Author |
|
Fix a code cleanup.
|
|
https://github.com/FullName/ProjectTox-Core into FullName-assoc-refresh-distant-data
|
|
DHT.c:
- get_close_nodes():
- allow two 'indirect' nodes ('indirect' as in distant from us and therefore not tested regularly, "bad")
- be consequent when testing for NULLed results, pack nodes_list dense
- (logging) dump number of found entries from assoc
- returnedip_ports():
- fix code cleanup, the entry to be added is about the node we were told, not about the node who told us
assoc.c:
- Assoc_get_close_entries(): break from loops as soon as a marking-invalid-node is hit
|
|
|
|
|
|
|
|
AF_INET/AF_INET6 can vary across devices, we introduce TOX_AF_INET and
TOX_AF_INET6 to fix this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/FullName/ProjectTox-Core into FullName-sendnodes-with-assoc
|
|
DHT.c:
- get_close_nodes(): use assoc to find nodes for the requested reference id
- handle_sendnodes*(): set a proper timestamp for "heard" nodes
assoc.*:
- expand Assoc_close_entries by flags for additional restrictions for search
- Assoc_get_close_entries(): honor the new flags
- new_Assoc() prime handling: min. prime is now 5 instead of 3, and up to 25 is handled directly
- Assoc_status(): added address family for seen/heard, print of hash is now fixed width
|
|
|
|
|
|
|
|
Should lower CPU usage by a bit.
|
|
Significantly trimmed down version of an ID<=>IP cache.
|
|
|
|
timeout (KILL_NODE_TIMEOUT), reset them all to BAD_NODE_TIMEOUT.
That keeps the client trying to at least ping the nodes in the hopes of the connection coming back up.
|
|
entries).
id_hash() was not at all working as expected for very small bucket size (when (size / 4) was zero). Simplified to be trivially correct.
Also added a used flag on adding an entry, which is set by callers if they have that association in active use. Those get priority over unused entries on collision.
Fleshed out test to be at least elementary useful.
Each group chat now uses an own, small assoc (80 entries).
|
|
Besides acknowledging timeouts, the module isn't trying to do anything fancy with the data besides storing and retrieving.
|
|
Also check both associations for timeout, not just the incoming one.
Also removed client_in_list(): static & unused.
|
|
DHT_test now only prints non zero entries.
|
|
|
|
Conflicts:
toxcore/DHT.c
|
|
https://github.com/FullName/ProjectTox-Core into FullName-add2lists_forward
|
|
handle_sendnodes_core(), leave only a minimal trail.
|
|
Avoids a DOS of sending a copy of a valid response with an invalid IP.
|
|
|
|
|
|
Also removed some old, useless loading code.
|
|
|
|
|
|
|
|
|
|
|
|
unix_time():
- returns local value for current epoch
- value is updated explicitly with unix_time_update() called at new_DHT()/doMessenger()/do_DHT()
is_timeout():
- uses the local value for current epoch
id_cpy()/id_eq() => id_copy()/id_equal():
- centralized duplicate definitions
- replaced (most) memcpy()/memcmp() of (*, *, CLIENT_ID_SIZE) with id_copy()/id_equal()
|
|
|
|
|
|
always off).
Additionally (besides cleanups):
network.h/tox.h:
- WIN32: fix a strange sa_family_t definition
- WIN32: define EWOULDBLOCK to WSAEWOULDBLOCK
- WIN32: kill macro for an existing function (IN6_ADDR_EQUAL)
network.c:
- use EWOULDBLOCK instead of EAGAIN (same value, but EWOULDBLOCK is more "popular")
- new_networking(): only try to enable IPv4-in-IPv6 if it's not already enabled per default
- inet_ntop()/inet_pton(): WIN32: remove partial initializers in favor of a simple memset()
- ip_equal(): WIN32: use an existing function
- logging: networking_wait_execute(): only dump result if not timeout
- logging: loglogdata(): kill an unused variable
LAN_discovery.c:
- send_broadcasts(): re-enabled, can only support IPv4 by principle, split into fetch_broadcast_info() (to fetch the addresses once) and send_broadcasts() (actual sending)
DHT.c:
- DHT_load_state_callback(): enclosed a fprintf(stderr, ...) into #ifdef DEBUG
Lossless_UDP.c:
- change_handshake(): harden against strange sa_family_t definitions
Messenger.c:
- logging: fix ID to string conversion
util.c:
- logging: eliminate a signed-warning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|