aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pevent.c8
-rw-r--r--src/pevent.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/pevent.c b/src/pevent.c
index 276fe48..0997009 100644
--- a/src/pevent.c
+++ b/src/pevent.c
@@ -266,6 +266,10 @@ event_forward_connection(event_ctx *ctx, int dest_fd, on_data_cb on_data,
errno = 0;
siz = event_buf_read(read_buf);
saved_errno = errno;
+
+ if (read_buf->buf_used == sizeof(read_buf->buf)) {
+ W2("Buffer bloat for read buffer: %zu\n", read_buf->buf_used);
+ }
} else break;
if (saved_errno == EAGAIN)
break;
@@ -330,6 +334,10 @@ event_forward_connection(event_ctx *ctx, int dest_fd, on_data_cb on_data,
}
break;
}
+
+ if (write_buf.buf_used == sizeof(write_buf.buf)) {
+ W2("Buffer bloat for write buffer: %zu\n", write_buf.buf_used);
+ }
}
if (rc != CON_OK)
diff --git a/src/pevent.h b/src/pevent.h
index 9384405..585fc46 100644
--- a/src/pevent.h
+++ b/src/pevent.h
@@ -52,6 +52,7 @@ typedef enum forward_state {
CON_IN_ERROR, CON_OUT_ERROR
} forward_state;
+/* event buffer; used for input/output buffering */
typedef struct event_buf {
int fd;
@@ -61,6 +62,7 @@ typedef struct event_buf {
void *buf_user_data;
} event_buf;
+/* event context; represents a global, per event queue state */
typedef struct event_ctx {
int active;
int has_error;