chiark / gitweb /
Remove src/backlight
[elogind.git] / src / journal-remote / journal-remote-parse.h
index 07d6ddb67feb5a4ad2abce61445a76f84f835f37..14bfadc1328ec578d7f10e3d3cadaa386c7e2e0b 100644 (file)
@@ -38,10 +38,13 @@ typedef struct RemoteSource {
         bool passive_fd;
 
         char *buf;
-        size_t size;
-        size_t scanned;
-        size_t filled;
-        size_t data_size;
+        size_t size;       /* total size of the buffer */
+        size_t offset;     /* offset to the beginning of live data in the buffer */
+        size_t scanned;    /* number of bytes since the beginning of data without a newline */
+        size_t filled;     /* total number of bytes in the buffer */
+
+        size_t field_len;  /* used for binary fields: the field name length */
+        size_t data_size;  /* and the size of the binary data chunk being processed */
 
         struct iovec_wrapper iovw;
 
@@ -51,6 +54,7 @@ typedef struct RemoteSource {
         Writer *writer;
 
         sd_event_source *event;
+        sd_event_source *buffer_event;
 } RemoteSource;
 
 RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer);
@@ -62,6 +66,5 @@ static inline size_t source_non_empty(RemoteSource *source) {
 }
 
 void source_free(RemoteSource *source);
-int process_data(RemoteSource *source);
 int push_data(RemoteSource *source, const char *data, size_t size);
 int process_source(RemoteSource *source, bool compress, bool seal);