summaryrefslogtreecommitdiff
path: root/agent/discovery.h
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2014-05-15 17:48:30 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2014-05-17 00:22:37 -0400
commit747364e291b313ac535f251d361719e65e8df27e (patch)
tree6633281a6237f156b36d112b49950bd1d5b4dbd7 /agent/discovery.h
parent9f0dfa2dfee43a10d6cf3290f61f2a26100fbd57 (diff)
downloadlibnice-747364e291b313ac535f251d361719e65e8df27e.tar.gz
discovery: Differentiate socket creation failure from other errors
If the socket can't be bound, then trying another port makes sense, otherwise it doesn't.
Diffstat (limited to 'agent/discovery.h')
-rw-r--r--agent/discovery.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/agent/discovery.h b/agent/discovery.h
index 58ea063..451f234 100644
--- a/agent/discovery.h
+++ b/agent/discovery.h
@@ -92,13 +92,21 @@ void discovery_free (NiceAgent *agent);
void discovery_prune_stream (NiceAgent *agent, guint stream_id);
void discovery_schedule (NiceAgent *agent);
-NiceCandidate *
+typedef enum {
+ HOST_CANDIDATE_SUCCESS,
+ HOST_CANDIDATE_FAILED,
+ HOST_CANDIDATE_CANT_CREATE_SOCKET,
+ HOST_CANDIDATE_REDUNDANT
+} HostCandidateResult;
+
+HostCandidateResult
discovery_add_local_host_candidate (
NiceAgent *agent,
guint stream_id,
guint component_id,
NiceAddress *address,
- NiceCandidateTransport transport);
+ NiceCandidateTransport transport,
+ NiceCandidate **candidate);
NiceCandidate*
discovery_add_relay_candidate (