aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/afb-ws.c8
-rw-r--r--src/afb-ws.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/afb-ws.c b/src/afb-ws.c
index a7582794..c25c3f10 100644
--- a/src/afb-ws.c
+++ b/src/afb-ws.c
@@ -201,6 +201,14 @@ void afb_ws_hangup(struct afb_ws *ws)
}
/*
+ * Is the websocket 'ws' still connected ?
+ */
+int afb_ws_is_connected(struct afb_ws *ws)
+{
+ return ws->ws != NULL;
+}
+
+/*
* Sends a 'close' command to the endpoint of 'ws' with the 'code' and the
* 'reason' (that can be NULL and that else should not be greater than 123
* characters).
diff --git a/src/afb-ws.h b/src/afb-ws.h
index af435ea6..5ba3cc1a 100644
--- a/src/afb-ws.h
+++ b/src/afb-ws.h
@@ -33,6 +33,7 @@ struct afb_ws_itf
extern struct afb_ws *afb_ws_create(struct sd_event *eloop, int fd, const struct afb_ws_itf *itf, void *closure);
extern void afb_ws_destroy(struct afb_ws *ws);
extern void afb_ws_hangup(struct afb_ws *ws);
+extern int afb_ws_is_connected(struct afb_ws *ws);
extern int afb_ws_close(struct afb_ws *ws, uint16_t code, const char *reason);
extern int afb_ws_error(struct afb_ws *ws, uint16_t code, const char *reason);
extern int afb_ws_text(struct afb_ws *ws, const char *text, size_t length);