• 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
..
Makefile.am Loading commit data...
libnice.sym Loading commit data...
libnice.ver Loading commit data...
nice.h Loading commit data...
nice.pc.in Loading commit data...
test-symbols.sh Loading commit data...