aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/main.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-25 15:02:48 +0100
committerbfredl <bjorn.linse@gmail.com>2024-03-07 09:39:46 +0100
commitdc37c1550bed46fffbb677d343cdc5bc94056219 (patch)
tree86213752366e016637f9e155a975facb408decad /src/nvim/main.c
parent6525832a8c4d44a8ebabba02a5ea1ce09b389a4f (diff)
downloadrneovim-dc37c1550bed46fffbb677d343cdc5bc94056219.tar.gz
rneovim-dc37c1550bed46fffbb677d343cdc5bc94056219.tar.bz2
rneovim-dc37c1550bed46fffbb677d343cdc5bc94056219.zip
refactor(msgpack): allow flushing buffer while packing msgpack
Before, we needed to always pack an entire msgpack_rpc Object to a continous memory buffer before sending it out to a channel. But this is generally wasteful. it is better to just flush whatever is in the buffer and then continue packing to a new buffer. This is also done for the UI event packer where there are some extra logic to "finish" of an existing batch of nevents/ncalls. This doesn't really stop us from flushing the buffer, just that we need to update the state machine accordingly so the next call to prepare_call() always will start with a new event (even though the buffer might contain overflow data from a large event).
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r--src/nvim/main.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c
index 6b862f2ed9..6b8c8253dc 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -70,7 +70,6 @@
#include "nvim/mouse.h"
#include "nvim/move.h"
#include "nvim/msgpack_rpc/channel.h"
-#include "nvim/msgpack_rpc/helpers.h"
#include "nvim/msgpack_rpc/server.h"
#include "nvim/normal.h"
#include "nvim/ops.h"
@@ -152,11 +151,9 @@ void event_init(void)
loop_init(&main_loop, NULL);
resize_events = multiqueue_new_child(main_loop.events);
- // early msgpack-rpc initialization
- msgpack_rpc_helpers_init();
input_init();
signal_init();
- // finish mspgack-rpc initialization
+ // mspgack-rpc initialization
channel_init();
terminal_init();
ui_init();