diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2014-01-21 15:56:18 +0000 |
---|---|---|
committer | Olivier Crête <olivier.crete@collabora.com> | 2014-01-31 01:49:07 -0500 |
commit | f7b15f1444f119ad5c3c835a27faca59e74059d2 (patch) | |
tree | cf1227e6fb452bb9d11060cfe5a0ef120a481338 /nice | |
parent | 515481e6f45da24689d27c8eff60f4b5fa849c49 (diff) | |
download | libnice-f7b15f1444f119ad5c3c835a27faca59e74059d2.tar.gz |
agent: Add support for vectored I/O for sends
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.
Diffstat (limited to 'nice')
-rw-r--r-- | nice/libnice.sym | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nice/libnice.sym b/nice/libnice.sym index 601afc6..b1d0d15 100644 --- a/nice/libnice.sym +++ b/nice/libnice.sym @@ -42,7 +42,7 @@ nice_agent_parse_remote_stream_sdp nice_agent_remove_stream nice_agent_restart nice_agent_send -nice_agent_send_full +nice_agent_send_messages_nonblocking nice_agent_set_port_range nice_agent_set_relay_info nice_agent_set_remote_candidates |