diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-12-02 20:50:47 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-02 20:50:47 -0500 |
| commit | 0fb4ab03888247f3fcb48c5e388aa5ef19eb1230 (patch) | |
| tree | 5819d22bdeba9e1ec19be91d5d346fb4b72aad93 /lib/stream.c | |
| parent | cb5a294642575f8c0789631226c7afa70040be78 (diff) | |
| parent | ec62c60fc8b6b621258b9de0223d19f7e668b261 (diff) | |
Merge pull request #6950 from opensourcerouting/bfd-distributed-v3
bfdd: distributed BFD
Diffstat (limited to 'lib/stream.c')
| -rw-r--r-- | lib/stream.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/stream.c b/lib/stream.c index dc207c16a4..e4e37b7315 100644 --- a/lib/stream.c +++ b/lib/stream.c @@ -1372,3 +1372,19 @@ void stream_fifo_free(struct stream_fifo *fifo) stream_fifo_deinit(fifo); XFREE(MTYPE_STREAM_FIFO, fifo); } + +void stream_pulldown(struct stream *s) +{ + size_t rlen = STREAM_READABLE(s); + + /* No more data, so just move the pointers. */ + if (rlen == 0) { + stream_reset(s); + return; + } + + /* Move the available data to the beginning. */ + memmove(s->data, &s->data[s->getp], rlen); + s->getp = 0; + s->endp = rlen; +} |
