Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
libnice
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
libnice
Commits
dfba87d0
Commit
dfba87d0
authored
Apr 25, 2014
by
Youness Alaoui
Committed by
Olivier Crête
May 17, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a nice_socket_can_send and nice_socket_set_writable_callback APIs
parent
fbd58604
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
248 additions
and
7 deletions
+248
-7
socket/http.c
socket/http.c
+22
-0
socket/pseudossl.c
socket/pseudossl.c
+22
-0
socket/socket.c
socket/socket.c
+16
-0
socket/socket.h
socket/socket.h
+12
-0
socket/socks5.c
socket/socks5.c
+21
-0
socket/tcp-active.c
socket/tcp-active.c
+17
-0
socket/tcp-bsd.c
socket/tcp-bsd.c
+29
-6
socket/tcp-bsd.h
socket/tcp-bsd.h
+0
-1
socket/tcp-passive.c
socket/tcp-passive.c
+49
-0
socket/udp-bsd.c
socket/udp-bsd.c
+17
-0
socket/udp-turn-over-tcp.c
socket/udp-turn-over-tcp.c
+21
-0
socket/udp-turn.c
socket/udp-turn.c
+22
-0
No files found.
socket/http.c
View file @
dfba87d0
...
...
@@ -92,6 +92,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
NiceSocket
*
nice_http_socket_new
(
NiceSocket
*
base_socket
,
...
...
@@ -121,6 +124,8 @@ nice_http_socket_new (NiceSocket *base_socket,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
/* Send HTTP CONNECT */
...
...
@@ -611,3 +616,20 @@ socket_is_reliable (NiceSocket *sock)
return
nice_socket_is_reliable
(
priv
->
base_socket
);
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
HttpPriv
*
priv
=
sock
->
priv
;
return
nice_socket_can_send
(
priv
->
base_socket
,
addr
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
HttpPriv
*
priv
=
sock
->
priv
;
nice_socket_set_writable_callback
(
priv
->
base_socket
,
callback
,
user_data
);
}
socket/pseudossl.c
View file @
dfba87d0
...
...
@@ -113,6 +113,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
NiceSocket
*
nice_pseudossl_socket_new
(
NiceSocket
*
base_socket
,
...
...
@@ -147,6 +150,8 @@ nice_pseudossl_socket_new (NiceSocket *base_socket,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
/* We send 'to' NULL because it will always be to an already connected
...
...
@@ -288,3 +293,20 @@ socket_is_reliable (NiceSocket *sock)
return
nice_socket_is_reliable
(
priv
->
base_socket
);
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
PseudoSSLPriv
*
priv
=
sock
->
priv
;
return
nice_socket_can_send
(
priv
->
base_socket
,
addr
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
PseudoSSLPriv
*
priv
=
sock
->
priv
;
nice_socket_set_writable_callback
(
priv
->
base_socket
,
callback
,
user_data
);
}
socket/socket.c
View file @
dfba87d0
...
...
@@ -249,6 +249,22 @@ nice_socket_is_reliable (NiceSocket *sock)
return
sock
->
is_reliable
(
sock
);
}
gboolean
nice_socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
if
(
sock
->
can_send
)
return
sock
->
can_send
(
sock
,
addr
);
return
TRUE
;
}
void
nice_socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
if
(
sock
->
set_writable_callback
)
sock
->
set_writable_callback
(
sock
,
callback
,
user_data
);
}
void
nice_socket_free
(
NiceSocket
*
sock
)
{
...
...
socket/socket.h
View file @
dfba87d0
...
...
@@ -68,6 +68,8 @@ typedef enum {
NICE_SOCKET_TYPE_TCP_SO
}
NiceSocketType
;
typedef
void
(
*
NiceSocketWritableCb
)
(
NiceSocket
*
sock
,
gpointer
user_data
);
struct
_NiceSocket
{
NiceAddress
addr
;
...
...
@@ -83,10 +85,14 @@ struct _NiceSocket
gint
(
*
send_messages_reliable
)
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
gboolean
(
*
is_reliable
)
(
NiceSocket
*
sock
);
gboolean
(
*
can_send
)
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
void
(
*
set_writable_callback
)
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
void
(
*
close
)
(
NiceSocket
*
sock
);
void
*
priv
;
};
G_GNUC_WARN_UNUSED_RESULT
gint
nice_socket_recv_messages
(
NiceSocket
*
sock
,
...
...
@@ -111,6 +117,12 @@ nice_socket_send_reliable (NiceSocket *sock, const NiceAddress *addr, gsize len,
gboolean
nice_socket_is_reliable
(
NiceSocket
*
sock
);
gboolean
nice_socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
void
nice_socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
void
nice_socket_free
(
NiceSocket
*
sock
);
...
...
socket/socks5.c
View file @
dfba87d0
...
...
@@ -78,6 +78,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
NiceSocket
*
...
...
@@ -103,6 +106,8 @@ nice_socks5_socket_new (NiceSocket *base_socket,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
/* Send SOCKS5 handshake */
...
...
@@ -459,3 +464,19 @@ socket_is_reliable (NiceSocket *sock)
return
nice_socket_is_reliable
(
priv
->
base_socket
);
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
Socks5Priv
*
priv
=
sock
->
priv
;
return
nice_socket_can_send
(
priv
->
base_socket
,
addr
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
Socks5Priv
*
priv
=
sock
->
priv
;
nice_socket_set_writable_callback
(
priv
->
base_socket
,
callback
,
user_data
);
}
socket/tcp-active.c
View file @
dfba87d0
...
...
@@ -64,6 +64,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
NiceSocket
*
...
...
@@ -110,6 +113,8 @@ nice_tcp_active_socket_new (GMainContext *ctx, NiceAddress *addr)
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
return
sock
;
...
...
@@ -152,6 +157,18 @@ socket_is_reliable (NiceSocket *sock)
return
TRUE
;
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
return
FALSE
;
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
}
NiceSocket
*
nice_tcp_active_socket_connect
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
...
...
socket/tcp-bsd.c
View file @
dfba87d0
...
...
@@ -61,6 +61,8 @@ typedef struct {
GSource
*
io_source
;
gboolean
error
;
gboolean
reliable
;
NiceSocketWritableCb
writable_cb
;
gpointer
writable_data
;
}
TcpPriv
;
#define MAX_QUEUE_LENGTH 20
...
...
@@ -73,6 +75,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
static
gboolean
socket_send_more
(
GSocket
*
gsocket
,
GIOCondition
condition
,
gpointer
data
);
...
...
@@ -95,6 +100,8 @@ nice_tcp_bsd_socket_new_from_gsock (GMainContext *ctx, GSocket *gsock,
priv
->
remote_addr
=
*
remote_addr
;
priv
->
error
=
FALSE
;
priv
->
reliable
=
reliable
;
priv
->
writable_cb
=
NULL
;
priv
->
writable_data
=
NULL
;
sock
->
type
=
NICE_SOCKET_TYPE_TCP_BSD
;
sock
->
fileno
=
g_object_ref
(
gsock
);
...
...
@@ -103,6 +110,8 @@ nice_tcp_bsd_socket_new_from_gsock (GMainContext *ctx, GSocket *gsock,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
return
sock
;
...
...
@@ -374,13 +383,23 @@ socket_is_reliable (NiceSocket *sock)
return
priv
->
reliable
;
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
TcpPriv
*
priv
=
sock
->
priv
;
/*
* Returns:
* -1 = error
* 0 = have more to send
* 1 = sent everything
*/
return
g_queue_is_empty
(
&
priv
->
send_queue
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
TcpPriv
*
priv
=
sock
->
priv
;
priv
->
writable_cb
=
callback
;
priv
->
writable_data
=
user_data
;
}
static
gboolean
socket_send_more
(
...
...
@@ -409,6 +428,10 @@ socket_send_more (
priv
->
io_source
=
NULL
;
agent_unlock
();
if
(
priv
->
writable_cb
)
priv
->
writable_cb
(
sock
,
priv
->
writable_data
);
return
FALSE
;
}
...
...
socket/tcp-bsd.h
View file @
dfba87d0
...
...
@@ -41,7 +41,6 @@
G_BEGIN_DECLS
NiceSocket
*
nice_tcp_bsd_socket_new
(
GMainContext
*
ctx
,
NiceAddress
*
remote_addr
,
NiceAddress
*
local_addr
,
gboolean
reliable
);
...
...
socket/tcp-passive.c
View file @
dfba87d0
...
...
@@ -53,6 +53,8 @@
typedef
struct
{
GMainContext
*
context
;
GHashTable
*
connections
;
NiceSocketWritableCb
writable_cb
;
gpointer
writable_data
;
}
TcpPassivePriv
;
...
...
@@ -64,7 +66,13 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
static
guint
nice_address_hash
(
const
NiceAddress
*
key
);
static
void
_set_child_callbacks
(
NiceAddress
*
addr
,
NiceSocket
*
child
,
NiceSocket
*
sock
);
NiceSocket
*
nice_tcp_passive_socket_new
(
GMainContext
*
ctx
,
NiceAddress
*
addr
)
...
...
@@ -145,6 +153,8 @@ nice_tcp_passive_socket_new (GMainContext *ctx, NiceAddress *addr)
priv
->
connections
=
g_hash_table_new_full
((
GHashFunc
)
nice_address_hash
,
(
GEqualFunc
)
nice_address_equal
,
(
GDestroyNotify
)
nice_address_free
,
NULL
);
priv
->
writable_cb
=
NULL
;
priv
->
writable_data
=
NULL
;
sock
->
type
=
NICE_SOCKET_TYPE_TCP_PASSIVE
;
sock
->
fileno
=
gsock
;
...
...
@@ -152,6 +162,8 @@ nice_tcp_passive_socket_new (GMainContext *ctx, NiceAddress *addr)
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
return
sock
;
...
...
@@ -208,6 +220,42 @@ socket_is_reliable (NiceSocket *sock)
return
TRUE
;
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
TcpPassivePriv
*
priv
=
sock
->
priv
;
NiceSocket
*
peer_socket
=
NULL
;
/* FIXME: Danger if child socket was closed */
if
(
addr
)
peer_socket
=
g_hash_table_lookup
(
priv
->
connections
,
addr
);
if
(
peer_socket
)
return
nice_socket_can_send
(
peer_socket
,
addr
);
return
FALSE
;
}
static
void
_set_child_callbacks
(
NiceAddress
*
addr
,
NiceSocket
*
child
,
NiceSocket
*
sock
)
{
TcpPassivePriv
*
priv
=
sock
->
priv
;
/* FIXME: Danger if child socket was closed */
nice_socket_set_writable_callback
(
child
,
priv
->
writable_cb
,
priv
->
writable_data
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
TcpPassivePriv
*
priv
=
sock
->
priv
;
priv
->
writable_cb
=
callback
;
priv
->
writable_data
=
user_data
;
g_hash_table_foreach
(
priv
->
connections
,
(
GHFunc
)
_set_child_callbacks
,
sock
);
}
NiceSocket
*
nice_tcp_passive_socket_accept
(
NiceSocket
*
sock
)
{
...
...
@@ -248,6 +296,7 @@ nice_tcp_passive_socket_accept (NiceSocket *sock)
if
(
new_socket
)
{
NiceAddress
*
key
=
nice_address_dup
(
&
remote_addr
);
_set_child_callbacks
(
key
,
new_socket
,
sock
);
g_hash_table_insert
(
priv
->
connections
,
key
,
new_socket
);
}
return
new_socket
;
...
...
socket/udp-bsd.c
View file @
dfba87d0
...
...
@@ -64,6 +64,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
struct
UdpBsdSocketPrivate
{
...
...
@@ -149,6 +152,8 @@ nice_udp_bsd_socket_new (NiceAddress *addr)
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
return
sock
;
...
...
@@ -309,3 +314,15 @@ socket_is_reliable (NiceSocket *sock)
return
FALSE
;
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
return
TRUE
;
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
}
socket/udp-turn-over-tcp.c
View file @
dfba87d0
...
...
@@ -83,6 +83,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
NiceSocket
*
nice_udp_turn_over_tcp_socket_new
(
NiceSocket
*
base_socket
,
...
...
@@ -102,6 +105,8 @@ nice_udp_turn_over_tcp_socket_new (NiceSocket *base_socket,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
return
sock
;
...
...
@@ -420,3 +425,19 @@ socket_is_reliable (NiceSocket *sock)
return
nice_socket_is_reliable
(
priv
->
base_socket
);
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
TurnTcpPriv
*
priv
=
sock
->
priv
;
return
nice_socket_can_send
(
priv
->
base_socket
,
addr
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
TurnTcpPriv
*
priv
=
sock
->
priv
;
nice_socket_set_writable_callback
(
priv
->
base_socket
,
callback
,
user_data
);
}
socket/udp-turn.c
View file @
dfba87d0
...
...
@@ -122,6 +122,9 @@ static gint socket_send_messages (NiceSocket *sock, const NiceAddress *to,
static
gint
socket_send_messages_reliable
(
NiceSocket
*
sock
,
const
NiceAddress
*
to
,
const
NiceOutputMessage
*
messages
,
guint
n_messages
);
static
gboolean
socket_is_reliable
(
NiceSocket
*
sock
);
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
);
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
);
static
void
priv_process_pending_bindings
(
UdpTurnPriv
*
priv
);
static
gboolean
priv_retransmissions_tick_unlocked
(
UdpTurnPriv
*
priv
);
...
...
@@ -238,6 +241,8 @@ nice_udp_turn_socket_new (GMainContext *ctx, NiceAddress *addr,
sock
->
send_messages_reliable
=
socket_send_messages_reliable
;
sock
->
recv_messages
=
socket_recv_messages
;
sock
->
is_reliable
=
socket_is_reliable
;
sock
->
can_send
=
socket_can_send
;
sock
->
set_writable_callback
=
socket_set_writable_callback
;
sock
->
close
=
socket_close
;
sock
->
priv
=
(
void
*
)
priv
;
...
...
@@ -914,6 +919,23 @@ socket_is_reliable (NiceSocket *sock)
return
nice_socket_is_reliable
(
priv
->
base_socket
);
}
static
gboolean
socket_can_send
(
NiceSocket
*
sock
,
NiceAddress
*
addr
)
{
UdpTurnPriv
*
priv
=
sock
->
priv
;
return
nice_socket_can_send
(
priv
->
base_socket
,
addr
);
}
static
void
socket_set_writable_callback
(
NiceSocket
*
sock
,
NiceSocketWritableCb
callback
,
gpointer
user_data
)
{
UdpTurnPriv
*
priv
=
sock
->
priv
;
nice_socket_set_writable_callback
(
priv
->
base_socket
,
callback
,
user_data
);
}
static
gboolean
priv_forget_send_request
(
gpointer
pointer
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment