1 #ifndef NVIM_API_PRIVATE_DISPATCH_H 2 #define NVIM_API_PRIVATE_DISPATCH_H 3 4 #include "nvim/api/private/defs.h" 5 6 typedef Object (*ApiDispatchWrapper)(uint64_t channel_id, 7 Array args, 8 Error *error); 9 10 /// The rpc_method_handlers table, used in msgpack_rpc_dispatch(), stores 11 /// functions of this type. 12 typedef struct { 13 ApiDispatchWrapper fn; 14 bool fast; // Function is safe to be executed immediately while running the 15 // uv loop (the loop is run very frequently due to breakcheck). 16 // If "fast" is false, the function is deferred, i e the call will 17 // be put in the event queue, for safe handling later. 18 } MsgpackRpcRequestHandler; 19 20 #ifdef INCLUDE_GENERATED_DECLARATIONS 21 # include "api/private/dispatch.h.generated.h" 22 # include "api/private/dispatch_wrappers.h.generated.h" 23 #endif 24 25 #endif // NVIM_API_PRIVATE_DISPATCH_H 26