• Philip Withnall's avatar
    agent: Add support for vectored I/O for sends · f7b15f14
    Philip Withnall authored
    Add one new public function, nice_agent_send_messages_nonblocking(),
    which replaces nice_agent_send_full(). This isn’t an API break, because
    nice_agent_send_full() hasn’t been in a release yet. The new API allows
    sending multiple messages in a single call, and supports vectors of
    buffers to transmit the messages from.
    
    The existing nice_agent_send() API has been left untouched, although
    it’s a bit of a bugbear because it’s non-blocking and doesn’t fit with
    the new *_nonblocking() naming scheme. Oh well.
    
    This doesn’t bring any notable changes to the number of memcpy()s on the
    critical path: it remains at zero for the common cases and common socket
    types. It introduces the possibility for future work to eliminate some
    memcpy()s in more complex socket types, like tcp-turn and tcp-bsd, but
    these optimisations have not been made yet. FIXME comments have been
    added.
    
    This includes modifications to the test-send-recv unit test to cover the
    new API.
    f7b15f14
Name
Last commit
Last update
agent Loading commit data...
docs Loading commit data...
examples Loading commit data...
gst Loading commit data...
m4 Loading commit data...
nice Loading commit data...
random Loading commit data...
scripts Loading commit data...
socket Loading commit data...
stun Loading commit data...
tests Loading commit data...
win32 Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LGPL Loading commit data...
COPYING.MPL Loading commit data...
ChangeLog Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
README.win32 Loading commit data...
TODO Loading commit data...
autogen.sh Loading commit data...
common.mk Loading commit data...
configure.ac Loading commit data...