MINOR: channel: add the date of last read in the channel
We store the time stamp of last read in the channel in order to
be able to measure some bit rate and pause lengths. We only use
16 bits which were unused for this. We don't need more, as it
allows us to measure with a millisecond precision for up to 65s.
diff --git a/include/proto/channel.h b/include/proto/channel.h
index 0afdc65..36633c6 100644
--- a/include/proto/channel.h
+++ b/include/proto/channel.h
@@ -55,6 +55,7 @@
chn->buf->i = 0;
chn->buf->p = chn->buf->data;
chn->to_forward = 0;
+ chn->last_read = now_ms;
chn->xfer_small = chn->xfer_large = 0;
chn->total = 0;
chn->pipe = NULL;
diff --git a/include/types/channel.h b/include/types/channel.h
index 905308e..2eea3e8 100644
--- a/include/types/channel.h
+++ b/include/types/channel.h
@@ -172,6 +172,7 @@
struct stream_interface *prod; /* producer attached to this channel */
struct pipe *pipe; /* non-NULL only when data present */
unsigned int to_forward; /* number of bytes to forward after out without a wake-up */
+ unsigned short last_read; /* 16 lower bits of last read date (max pause=65s) */
unsigned char xfer_large; /* number of consecutive large xfers */
unsigned char xfer_small; /* number of consecutive small xfers */
unsigned long long total; /* total data read */