summaryrefslogtreecommitdiff
path: root/nice
Commit message (Collapse)AuthorAgeFilesLines
* agent: Add API to set local credentialsRohan Garg2015-04-141-0/+1
| | | | Adds new API: nice_agent_set_local_credentials().
* agent: Add function to retrieve the current component stateOlivier Crête2014-10-091-0/+1
|
* nice.pc: Include ${includedir} directlyOlivier Crête2014-10-081-1/+1
| | | | | | It doesn't make sense to tell applications to include <agent.h>, including <nice/agent.h> is much safer. So tell the applications to use the includedir directly.
* nice: Expose UPnP support in nice.pc.inPhilip Withnall2014-07-071-0/+1
| | | | | | | It might be useful for dependent packages to check whether libnice was compiled with UPnP support, so expose that as a variable in the pkg-config file, set to ‘true’ if supported, and the empty string otherwise.
* nice: Auto-substitute pkg-config requirements in nice.pc.inPhilip Withnall2014-07-071-5/+4
| | | | | | The requirements in the pkg-config file were outdated and incomplete. It makes a lot more sense to automatically substitute them in from the checks in configure.ac.
* address: add nice_address_equal_no_port() to compare addresses ignoring portsOlivier Crête2014-05-171-0/+1
|
* add nice_agent_forget_relays()Guillaume Desmottes2014-04-241-0/+1
|
* agent: Add nice_agent_restart_stream() to restart a single streamOlivier Crête2014-04-241-0/+1
|
* add nice_component_state_to_string()Guillaume Desmottes2014-04-231-0/+1
| | | | Nice to make debug logs more friendly to read.
* agent: Replace nice_agent_build_io_stream() with nice_agent_get_io_stream()Olivier Crête2014-01-311-1/+1
| | | | | Also made the GIOStream into a singleton, it always returns the same one. Also make it impossible to create a GIOStream for a non-existing stream/component
* agent: Add support for vectored I/O for sendsPhilip Withnall2014-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* agent: Add support for vectored I/O for receivesPhilip Withnall2014-01-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new public functions: • nice_agent_recv_messages() • nice_agent_recv_messages_nonblocking() which allow receiving multiple messages in a single call, and support vectors of buffers to receive the messages into. The existing nice_agent_recv[_nonblocking]() APIs have been left untouched. This tidies up a lot of the message handling code internally, and eliminates a couple of memcpy()s. There are still a few more memcpy()s on the critical path, which could be eliminated with further work. In the reliable agent case, every message is memcpy()ed twice: once into the pseudo-TCP receive buffer, and once out of it. The copy on input could be eliminated (in the case of in-order delivery of packets) by receiving directly into the receive buffer. The copy on output can’t be eliminated except in the I/O callback case (when nice_agent_attach_recv() has been used), in which case the callback could be invoked with a pointer directly into the pseudo-TCP receive buffer. In the non-reliable agent case, zero memcpy()s are used. A couple of the more complex socket implementations (TURN and HTTP) have slow paths during setup, and partially also during normal use. These could be optimised further, and FIXME comments have been added.
* nice: Add nice_agent_build_io_stream to exported symbolsOlivier Crête2014-01-311-0/+1
|
* agent: Add a nice_agent_recv_nonblocking() functionPhilip Withnall2014-01-311-0/+1
| | | | | | | | | This is a non-blocking variant of nice_agent_recv(), and will be used internally by the GPollableInputStream implementation. External implementations may use it as well. It reserves the right to iterate the main context, but doesn’t currently do so.
* agent: Add support for GIO-style I/O streamsPhilip Withnall2014-01-311-0/+3
| | | | | | | | | | | | | | | | | | | | This adds three new classes: • NiceIOStream • NiceInputStream • NiceOutputStream which allow wrapping a single stream/component pair in an I/O stream which can be used with the standard GIO functions. The streams are constructed as wrappers around a NiceAgent, with changes to the NiceAgent’s properties affecting all instantiated streams. Streams are only supported for reliable connections. If the NiceAgent stream which underlies a NiceInputStream, NiceOutputStream or NiceIOStream is removed, the I/O stream is marked as closed. This is based on work originally done by Youness Alaoui <youness.alaoui@collabora.co.uk>.
* agent: Add a nice_agent_send_full() API exposing error informationPhilip Withnall2014-01-311-0/+1
| | | | | | | | | | | | This adds GError and GCancellable parameters to the existing nice_agent_send() API, and is identical in all other respects (notably, it is non-blocking). The GCancellable is currently unused, but could be used in future if the API grows to support blocking writes. The GError is used to return more interesting error codes than just ‘-1’.
* agent: Add nice_agent_recv() allowing blocking receives on socketsPhilip Withnall2014-01-311-0/+1
| | | | | | | | This is a blocking receive function, designed to be called from a worker thread. It cannot be used in conjunction with the existing nice_agent_attach_recv() API, as the blocking receive and the GSource would compete over access to the single copy of the data in the kernel’s receive buffer.
* configure: Verify that the compiler understands warning cflagsOlivier Crête2013-12-261-1/+1
| | | | Older compilers don't understand all of the flags
* agent: Add API to retrieve the selected GSocketBryce Allen2013-11-201-0/+1
| | | | This should be used only when the protocol has it's own keepalive mechanism
* build: Add GUPnP libraries to Libs.private in pkg-config filePhilip Withnall2013-10-291-0/+1
| | | | | | | They’re private dependencies which are needed on the linker command line when linking statically against libnice. https://bugs.freedesktop.org/show_bug.cgi?id=70965
* Add new parsing API, for stream and candidatesYouness Alaoui2013-02-051-0/+5
|
* Adding new SDP parsing and generation API.Youness Alaoui2013-02-041-0/+4
| | | | | This adds nice_agent_set_stream_name, nice_agent_get_stream_name, nice_agent_generate_local_sdp, nice_agent_parse_remote_sdp.
* Add nice_agent_get_selected_pair API to NiceAgentYouness Alaoui2013-02-011-0/+1
|
* Add nice_address_ip_version API to NiceAddressYouness Alaoui2013-02-011-0/+1
|
* Add nice_agent_set_port_range to the list of exported API functionsYouness Alaoui2012-12-031-0/+1
|
* Use only POSIX statements in nice/Makefile.amTimothy Redaelli2011-10-131-5/+5
|
* Fix check-symbols test for PPC64David Woodhouse2011-08-151-3/+10
|
* Use only POSIX statements in Makefile.amTimothy Redaelli2011-03-311-2/+2
|
* Add nice_candidate_copy to the public APIYouness Alaoui2010-08-231-0/+1
|
* Adding pseudotcp API to the exported symbol listYouness Alaoui2010-02-161-0/+11
|
* make the nice_agent_new_reliable API part of the exported symbolsYouness Alaoui2010-02-161-0/+1
|
* Fix copyright headers for all filesYouness Alaoui2010-02-161-3/+4
|
* Export the symbols for nice_agent_set_software and stun_agent_set_softwareYouness Alaoui2009-11-041-0/+2
|
* Change new API to nice_agent_set_stream_tos, save the tos and apply it to ↵Youness Alaoui2009-07-281-0/+1
| | | | new sockets
* Link the lib against gupnp tooYouness Alaoui2009-05-071-0/+1
|
* Adding new stun API stun_agent_forget_transaction to forget a saved ↵Youness Alaoui2009-03-271-0/+1
| | | | transaction id when the transaction times out
* Change the top_srcdir and ../ directories from Makefile.am to use ↵Youness Alaoui2009-03-051-2/+2
| | | | top_builddir where needed
* Update docs, finish formatting the gtk-doc and add the STUN API to the ↵Youness Alaoui2009-03-021-0/+57
| | | | exported symbols list
* install interfaces.h and add it as include to nice.hYouness Alaoui2009-01-181-0/+1
|
* Add nice_interfaces APIYouness Alaoui2009-01-142-1/+3
|
* Changing library name 'nice' to 'libnice'Youness Alaoui2008-12-191-1/+1
|
* add all necessary files to EXTRA_DISTYouness Alaoui2008-11-121-1/+1
|
* Remove nice_agent_add_remote_candidate since it's uselessYouness Alaoui2008-11-041-1/+0
|
* Add an else to HAVE_CONFIG_H in order to define NICEAPI_EXPORT. Also removed ↵Youness Alaoui2008-11-031-12/+0
| | | | that define from not public functions and removed them from libnice.sym
* make nice_address_init part of the APIYouness Alaoui2008-10-301-0/+1
|
* Move address into the agent's dirYouness Alaoui2008-10-301-1/+0
|
* Merge branch 'nice-kakaroto' of /home/kakaroto/coding/nice-refactor/ into ↵Youness Alaoui2008-10-291-3/+0
|\ | | | | | | nice-kakaroto
| * remove interface symbolsYouness Alaoui2008-10-291-3/+0
| |
* | remove empty test directory and fix some automake warningsYouness Alaoui2008-10-291-1/+0
|/
* No more need for linking with liblocalYouness Alaoui2008-10-281-2/+0
|