summaryrefslogtreecommitdiffstats
path: root/lib/ringbuf.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@nvidia.com>2021-04-27 00:42:19 +0200
committerQuentin Young <qlyoung@nvidia.com>2021-04-29 18:12:32 +0200
commit6c55ee964e600cba385afabb8438b9d09eb509f2 (patch)
tree00d2573aeaee899b63d64d84118254a64327a742 /lib/ringbuf.c
parentRevert "bgpd: improve socket read performance" (diff)
downloadfrr-6c55ee964e600cba385afabb8438b9d09eb509f2.tar.xz
frr-6c55ee964e600cba385afabb8438b9d09eb509f2.zip
Revert "lib: add ringbuf socket read function"
This reverts commit d9d7af1a52d77ed0074ebb72f87678308296e74e.
Diffstat (limited to 'lib/ringbuf.c')
-rw-r--r--lib/ringbuf.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/ringbuf.c b/lib/ringbuf.c
index 49221e7cb..6efa8077c 100644
--- a/lib/ringbuf.c
+++ b/lib/ringbuf.c
@@ -131,38 +131,3 @@ void ringbuf_wipe(struct ringbuf *buf)
memset(buf->data, 0x00, buf->size);
ringbuf_reset(buf);
}
-
-ssize_t ringbuf_read(struct ringbuf *buf, int sock)
-{
- size_t to_read = ringbuf_space(buf);
- size_t bytes_to_end = buf->size - buf->end;
- ssize_t bytes_read;
- struct iovec iov[2] = {};
-
- /* Calculate amount of read blocks. */
- if (to_read > bytes_to_end) {
- iov[0].iov_base = buf->data + buf->end;
- iov[0].iov_len = bytes_to_end;
- iov[1].iov_base = buf->data;
- iov[1].iov_len = to_read - bytes_to_end;
- } else {
- iov[0].iov_base = buf->data + buf->end;
- iov[0].iov_len = to_read;
- }
-
- /* Do the system call. */
- bytes_read = readv(sock, iov, 2);
- if (bytes_read <= 0)
- return bytes_read;
-
- /* Calculate the new end. */
- if ((size_t)bytes_read > bytes_to_end)
- buf->end = bytes_read - bytes_to_end;
- else
- buf->end += bytes_read;
-
- /* Set emptiness state. */
- buf->empty = (buf->start == buf->end) && (buf->empty && !bytes_read);
-
- return bytes_read;
-}