diff options
-rw-r--r-- | agent/pseudotcp.c | 8 | ||||
-rw-r--r-- | agent/pseudotcp.h | 12 | ||||
-rw-r--r-- | docs/reference/libnice/libnice-sections.txt | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/agent/pseudotcp.c b/agent/pseudotcp.c index 05fee3a..44f7823 100644 --- a/agent/pseudotcp.c +++ b/agent/pseudotcp.c @@ -1958,3 +1958,11 @@ set_state (PseudoTcpSocket *self, PseudoTcpState new_state) priv->state = new_state; } + +gboolean +pseudo_tcp_socket_is_closed (PseudoTcpSocket *self) +{ + PseudoTcpSocketPrivate *priv = self->priv; + + return (priv->state == TCP_CLOSED); +} diff --git a/agent/pseudotcp.h b/agent/pseudotcp.h index ca7cb95..65feec4 100644 --- a/agent/pseudotcp.h +++ b/agent/pseudotcp.h @@ -471,6 +471,18 @@ gboolean pseudo_tcp_socket_can_send (PseudoTcpSocket *self); */ gsize pseudo_tcp_socket_get_available_send_space (PseudoTcpSocket *self); +/** + * pseudo_tcp_socket_is_closed: + * @self: The #PseudoTcpSocket object. + * + * Gets whether the socket is closed, with the shutdown handshake completed, + * and both peers no longer able to read or write data to the connection. + * + * Returns: %TRUE if the socket is closed in both directions, %FALSE otherwise + * Since: UNRELEASED + */ +gboolean pseudo_tcp_socket_is_closed (PseudoTcpSocket *self); + G_END_DECLS #endif /* _PSEUDOTCP_H */ diff --git a/docs/reference/libnice/libnice-sections.txt b/docs/reference/libnice/libnice-sections.txt index af53529..eec82ed 100644 --- a/docs/reference/libnice/libnice-sections.txt +++ b/docs/reference/libnice/libnice-sections.txt @@ -291,6 +291,7 @@ pseudo_tcp_socket_connect pseudo_tcp_socket_recv pseudo_tcp_socket_send pseudo_tcp_socket_close +pseudo_tcp_socket_is_closed pseudo_tcp_socket_get_error pseudo_tcp_socket_get_next_clock pseudo_tcp_socket_notify_clock |