aboutsummaryrefslogtreecommitdiffstats
path: root/libglouglou/sendbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libglouglou/sendbuf.c')
-rw-r--r--libglouglou/sendbuf.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/libglouglou/sendbuf.c b/libglouglou/sendbuf.c
index 15a7d23..4e83294 100644
--- a/libglouglou/sendbuf.c
+++ b/libglouglou/sendbuf.c
@@ -3,7 +3,6 @@
#include "sendbuf.h"
-static int flushbuf(struct sendbuf *);
static void cb_timer(evutil_socket_t, short, void *);
/*
@@ -50,7 +49,7 @@ sendbuf_free(struct sendbuf *sbuf)
if (sbuf->ev_timer)
event_del(sbuf->ev_timer);
if (sbuf->buffer && sbuf->send_func)
- flushbuf(sbuf);
+ sendbuf_flush(sbuf);
if (sbuf->buffer)
free(sbuf->buffer);
free(sbuf);
@@ -65,7 +64,7 @@ int
sendbuf_append(struct sendbuf *sbuf, void *token, int size)
{
if (sbuf->buffer_pos + size >= sbuf->buffer_size)
- if (flushbuf(sbuf) == -1)
+ if (sendbuf_flush(sbuf) == -1)
return -1;
memcpy(sbuf->buffer + sbuf->buffer_pos, token, size);
@@ -85,7 +84,7 @@ sendbuf_gettoken(struct sendbuf *sbuf, int size)
void *token;
if (sbuf->buffer_pos + size >= sbuf->buffer_size)
- if (flushbuf(sbuf) == -1)
+ if (sendbuf_flush(sbuf) == -1)
return NULL;
token = sbuf->buffer + sbuf->buffer_pos;
@@ -95,16 +94,13 @@ sendbuf_gettoken(struct sendbuf *sbuf, int size)
}
/*
- * Private
- */
-
-/*
+ * Send buffer immediatly
* Note that you can still add data to the buffer even if flushing is in
* progress
* returns 0 on success or -1 on error
*/
-static int
-flushbuf(struct sendbuf *sbuf)
+int
+sendbuf_flush(struct sendbuf *sbuf)
{
int tosend, sent;
@@ -130,12 +126,17 @@ flushbuf(struct sendbuf *sbuf)
return 0;
}
+
+/*
+ * Private
+ */
+
static void
cb_timer(evutil_socket_t fd, short what, void *arg)
{
struct sendbuf *sbuf;
sbuf = arg;
- flushbuf(sbuf);
+ sendbuf_flush(sbuf);
evtimer_add(sbuf->ev_timer, &sbuf->ev_timer_tv);
}