diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-05-31 14:40:53 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2024-06-08 12:50:17 +0200 |
commit | 78d21593a35cf89692224f1000a04d3c9fff8add (patch) | |
tree | 116e12a3c41b1bd7a5e0f635b4ef0b75cf75ad9a /src/nvim/rbuffer_defs.h | |
parent | 4881211097aba7f5d17700362ec0967e3024f074 (diff) | |
download | rneovim-78d21593a35cf89692224f1000a04d3c9fff8add.tar.gz rneovim-78d21593a35cf89692224f1000a04d3c9fff8add.tar.bz2 rneovim-78d21593a35cf89692224f1000a04d3c9fff8add.zip |
refactor(io): make rstream use a linear buffer
If you like it you shouldn't put a ring on it.
This is what _every_ consumer of RStream used anyway, either by calling
rbuffer_reset, or rbuffer_consumed_compact (same as rbuffer_reset
without needing a scratch buffer), or by consuming everything in
each stream_read_cb call directly.
Diffstat (limited to 'src/nvim/rbuffer_defs.h')
-rw-r--r-- | src/nvim/rbuffer_defs.h | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/nvim/rbuffer_defs.h b/src/nvim/rbuffer_defs.h deleted file mode 100644 index 51dc349846..0000000000 --- a/src/nvim/rbuffer_defs.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include <stddef.h> - -#include "nvim/func_attr.h" - -typedef struct rbuffer RBuffer; -/// Type of function invoked during certain events: -/// - When the RBuffer switches to the full state -/// - When the RBuffer switches to the non-full state -typedef void (*rbuffer_callback)(RBuffer *buf, void *data); - -struct rbuffer { - rbuffer_callback full_cb, nonfull_cb; - void *data; - size_t size; - // helper memory used to by rbuffer_reset if required - char *temp; - char *end_ptr, *read_ptr, *write_ptr; - char start_ptr[]; -}; - -static inline size_t rbuffer_size(RBuffer *buf) - REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL; - -static inline size_t rbuffer_size(RBuffer *buf) -{ - return buf->size; -} - -static inline size_t rbuffer_capacity(RBuffer *buf) - REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL; - -static inline size_t rbuffer_capacity(RBuffer *buf) -{ - return (size_t)(buf->end_ptr - buf->start_ptr); -} - -static inline size_t rbuffer_space(RBuffer *buf) - REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL; - -static inline size_t rbuffer_space(RBuffer *buf) -{ - return rbuffer_capacity(buf) - buf->size; -} |