channel_defs.h
Go to the documentation of this file.
1 #ifndef NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
2 #define NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
3 
4 #include <stdbool.h>
5 #include <uv.h>
6 #include <msgpack.h>
7 
9 #include "nvim/event/socket.h"
10 #include "nvim/event/process.h"
11 #include "nvim/vim.h"
12 
13 typedef struct Channel Channel;
14 
15 typedef struct {
16  uint64_t request_id;
17  bool returned, errored;
20 
21 typedef struct {
25  uint64_t request_id;
26 } RequestEvent;
27 
28 typedef struct {
29  PMap(cstr_t) *subscribed_events;
30  bool closed;
31  msgpack_unpacker *unpacker;
32  uint64_t next_request_id;
33  kvec_t(ChannelCallFrame *) call_stack;
34  Dictionary info;
35 } RpcState;
36 
37 #endif // NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
uint64_t next_request_id
Definition: channel_defs.h:32
Definition: channel.h:57
#define PMap(T)
Definition: map_defs.h:10
Channel * channel
Definition: channel_defs.h:22
Object result
Definition: channel_defs.h:18
Definition: defs.h:114
const char * cstr_t
Definition: map_defs.h:6
msgpack_unpacker * unpacker
Definition: channel_defs.h:31
Definition: channel_defs.h:28
uint64_t request_id
Definition: channel_defs.h:16
uint64_t request_id
Definition: channel_defs.h:25
Definition: defs.h:88
Array args
Definition: channel_defs.h:24
MsgpackRpcRequestHandler handler
Definition: channel_defs.h:23
Definition: defs.h:95
Definition: channel_defs.h:21
bool returned
Definition: channel_defs.h:17
#define kvec_t(type)
Definition: kvec.h:53
Definition: channel_defs.h:15
bool closed
Definition: channel_defs.h:30
Definition: dispatch.h:12