blob: 404e68329a41916dc5c4419834b174f50d954938 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#ifndef NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
#define NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
#include <msgpack.h>
#include <stdbool.h>
#include <uv.h>
#include "nvim/api/private/defs.h"
#include "nvim/api/private/dispatch.h"
#include "nvim/event/process.h"
#include "nvim/event/socket.h"
#include "nvim/vim.h"
typedef struct Channel Channel;
typedef struct Unpacker Unpacker;
typedef struct {
uint32_t request_id;
bool returned, errored;
Object result;
ArenaMem result_mem;
} ChannelCallFrame;
typedef struct {
MessageType type;
Channel *channel;
MsgpackRpcRequestHandler handler;
Array args;
uint32_t request_id;
Arena used_mem;
} RequestEvent;
typedef struct {
PMap(cstr_t) subscribed_events[1];
bool closed;
Unpacker *unpacker;
uint32_t next_request_id;
kvec_t(ChannelCallFrame *) call_stack;
Dictionary info;
} RpcState;
#endif // NVIM_MSGPACK_RPC_CHANNEL_DEFS_H
|