aboutsummaryrefslogtreecommitdiffstats
path: root/src/afb-ws.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-08-02 11:32:00 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2016-08-02 11:32:00 +0200
commit904f490e7d70653bb54b53d3bc7c7bead45be844 (patch)
treed0c3287888e65f7d049c5367bef1970b1455c49d /src/afb-ws.c
parented943b6facb90cfecf3008751e3b0ba5175998f6 (diff)
adds vectored function for text and binary
Change-Id: I441624cf07fc783f54d1bc9613fee5f9b842e140 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-ws.c')
-rw-r--r--src/afb-ws.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/afb-ws.c b/src/afb-ws.c
index 53fb60ae..a7582794 100644
--- a/src/afb-ws.c
+++ b/src/afb-ws.c
@@ -282,6 +282,20 @@ int afb_ws_texts(struct afb_ws *ws, ...)
}
/*
+ * Sends a text data described in the 'count' 'iovec' to the endpoint of 'ws'.
+ * Returns 0 on success or -1 in case of error.
+ */
+int afb_ws_text_v(struct afb_ws *ws, const struct iovec *iovec, int count)
+{
+ if (ws->ws == NULL) {
+ /* disconnected */
+ errno = EPIPE;
+ return -1;
+ }
+ return websock_text_v(ws->ws, 1, iovec, count);
+}
+
+/*
* Sends a binary 'data' of 'length' to the endpoint of 'ws'.
* Returns 0 on success or -1 in case of error.
*/
@@ -296,6 +310,20 @@ int afb_ws_binary(struct afb_ws *ws, const void *data, size_t length)
}
/*
+ * Sends a binary data described in the 'count' 'iovec' to the endpoint of 'ws'.
+ * Returns 0 on success or -1 in case of error.
+ */
+int afb_ws_binary_v(struct afb_ws *ws, const struct iovec *iovec, int count)
+{
+ if (ws->ws == NULL) {
+ /* disconnected */
+ errno = EPIPE;
+ return -1;
+ }
+ return websock_binary_v(ws->ws, 1, iovec, count);
+}
+
+/*
* callback for writing data
*/
static ssize_t aws_writev(struct afb_ws *ws, const struct iovec *iov, int iovcnt)