network.*:
- sendpacket(): checks result and on EAGAIN, stores time of this event
- networking_wait_prepare(): uses the time if set to check up to 500ms later for the socket to be writeable again
- networking_wait_cleanup(): clears the time if the socket was writeable
- fixed some accidental tabs
Messenger.*, tox.*:
- pass-through functions to reach networking_wait_cleanup()
- fixed some accidental tabs
Tox sync is a proof of concept bittorrent sync inspired application that
uses tox to sync the contents of two folders.
Currently only works on POSIX compilant operating systems.
To allow the actual waiting to run without any locking, split it into preparing the data it uses and the execution of the wait.
The caller must provide with the buffer to store whatever data it requires to wait.
Completely eliminates any reliance on the existence of anything but that data in the actual wait routine.
Also fixed a few argument type warnings inside LOGGING.
Lossless_UDP.*:
- sendqueue_total() sums sendqueue() across all connections
network.*, Messenger.c:
- sendqueue_total() is collected and then used in deciding if we select() on write-readiness
tox.*, Messenger.*, network.*;
- new function tox_wait() => waitMessenger() => networking_wait():
- waits for a given amount of time for any sort of socket activity
- mustn't change anything inside, mustn't poll or do other stuff
- the point is to be able to call this asynchronously from a second thread
- the outside shall follow up with an immediate tox_do() when there's socket activity
tox.*:
- allow inclusion of tox.h into tox.c, ensuring that the outside interface and the internal always match
util.c:
- squished a few warnings about questionable format strings