diff options
Diffstat (limited to 'pkt-line.h')
-rw-r--r-- | pkt-line.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkt-line.h b/pkt-line.h index 8cfeb0c31c..7a67e9c65b 100644 --- a/pkt-line.h +++ b/pkt-line.h @@ -5,7 +5,19 @@ #include "strbuf.h" /* - * Silly packetized line writing interface + * Write a packetized stream, where each line is preceded by + * its length (including the header) as a 4-byte hex number. + * A length of 'zero' means end of stream (and a length of 1-3 + * would be an error). + * + * This is all pretty stupid, but we use this packetized line + * format to make a streaming format possible without ever + * over-running the read buffers. That way we'll never read + * into what might be the pack data (which should go to another + * process entirely). + * + * The writing side could use stdio, but since the reading + * side can't, we stay with pure read/write interfaces. */ void packet_flush(int fd); void packet_write(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3))); |