summaryrefslogtreecommitdiff
path: root/nice
diff options
context:
space:
mode:
authorPhilip Withnall <philip.withnall@collabora.co.uk>2014-01-21 15:56:18 +0000
committerOlivier Crête <olivier.crete@collabora.com>2014-01-31 01:49:07 -0500
commitf7b15f1444f119ad5c3c835a27faca59e74059d2 (patch)
treecf1227e6fb452bb9d11060cfe5a0ef120a481338 /nice
parent515481e6f45da24689d27c8eff60f4b5fa849c49 (diff)
downloadlibnice-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.sym2
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