File: jsonrpc.el.html

This library implements the JSONRPC 2.0 specification as described in https://www.jsonrpc.org/. As the name suggests, JSONRPC is a generic Remote Procedure Call protocol designed around JSON objects. To learn how to write JSONRPC programs with this library, see Info node (elisp)JSONRPC."

This library was originally extracted from eglot.el, an Emacs LSP client, which you should see for an example usage.

Defined variables (5)

jrpc-default-request-timeoutTime in seconds before timing out a JSON-RPC request without response.
jsonrpc--in-process-filterNon-nil if inside ‘jsonrpc--process-filter’.
jsonrpc-default-request-timeoutTime in seconds before timing out a JSON-RPC request without response.
jsonrpc-event-hookHook run when JSON-RPC events are emitted.
jsonrpc-inhibit-debug-on-errorInhibit ‘debug-on-error’ when answering requests.

Defined functions (67)

(setf jsonrpc--continuations)(jsonrpc--continuations\) ARG0 ARG &rest ARGS)
(setf jsonrpc--deferred-actions)(jsonrpc--deferred-actions\) ARG0 ARG &rest ARGS)
(setf jsonrpc--events-buffer)(jsonrpc--events-buffer\) ARG0 ARG &rest ARGS)
(setf jsonrpc--expected-bytes)(jsonrpc--expected-bytes\) ARG0 ARG &rest ARGS)
(setf jsonrpc--next-request-id)(jsonrpc--next-request-id\) ARG0 ARG &rest ARGS)
(setf jsonrpc--notification-dispatcher)(jsonrpc--notification-dispatcher\) ARG0 ARG &rest ARGS)
(setf jsonrpc--on-shutdown)(jsonrpc--on-shutdown\) ARG0 ARG &rest ARGS)
(setf jsonrpc--process)(jsonrpc--process\) ARG0 ARG &rest ARGS)
(setf jsonrpc--request-dispatcher)(jsonrpc--request-dispatcher\) ARG0 ARG &rest ARGS)
(setf jsonrpc--sync-request-alist)(jsonrpc--sync-request-alist\) ARG0 ARG &rest ARGS)
(setf jsonrpc-last-error)(jsonrpc-last-error\) ARG0 ARG &rest ARGS)
(setf jsonrpc-name)(jsonrpc-name\) ARG0 ARG &rest ARGS)
jsonrpc--async-request-1
jsonrpc--call-deferred(CONNECTION)
jsonrpc--continuations(ARG &rest ARGS)
jsonrpc--continue(CONN ID &optional CONT RESULT ERROR)
jsonrpc--debug(SERVER FORMAT &rest ARGS)
jsonrpc--deferred-actions(ARG &rest ARGS)
jsonrpc--event
jsonrpc--events-buffer(ARG &rest ARGS)
jsonrpc--expected-bytes(ARG &rest ARGS)
jsonrpc--forwarding-buffer(NAME PREFIX CONN)
jsonrpc--json-encode(ARG1)
jsonrpc--json-read()
jsonrpc--limit-buffer-size(MAX-SIZE)
jsonrpc--log-event
jsonrpc--message(FORMAT &rest ARGS)
jsonrpc--next-request-id(ARG &rest ARGS)
jsonrpc--notification-dispatcher(ARG &rest ARGS)
jsonrpc--on-shutdown(ARG &rest ARGS)
jsonrpc--process(ARG &rest ARGS)
jsonrpc--process-filter(PROC STRING)
jsonrpc--process-sentinel(PROC CHANGE)
jsonrpc--remove(CONN ID &optional DEFERRED-SPEC)
jsonrpc--reply
jsonrpc--request-dispatcher(ARG &rest ARGS)
jsonrpc--schedule(CONN ID METHOD SUCCESS-FN ERROR-FN TIMER)
jsonrpc--sync-request-alist(ARG &rest ARGS)
jsonrpc--warn(FORMAT &rest ARGS)
jsonrpc-async-request
jsonrpc-autoport-bootstrap
jsonrpc-connection(&rest SLOTS)
jsonrpc-connection--eieio-childp(OBJ)
jsonrpc-connection-child-p(OBJ)
jsonrpc-connection-p(OBJ)
jsonrpc-connection-ready-p(CONNECTION WHAT)
jsonrpc-connection-receive(CONN FOREIGN-MESSAGE)
jsonrpc-connection-send
jsonrpc-continuation-count(CONN)
jsonrpc-convert-from-endpoint(CONNECTION REMOTE-MESSAGE)
jsonrpc-convert-to-endpoint(CONNECTION MESSAGE SUBTYPE)
jsonrpc-error(&rest ARGS)
jsonrpc-events-buffer(CONNECTION)
jsonrpc-forget-pending-continuations(CONNECTION)
jsonrpc-lambda(CL-LAMBDA-LIST &body BODY)
jsonrpc-last-error(ARG &rest ARGS)
jsonrpc-name(ARG &rest ARGS)
jsonrpc-notify(CONNECTION METHOD PARAMS)
jsonrpc-process-connection(&rest SLOTS)
jsonrpc-process-connection--eieio-childp(OBJ)
jsonrpc-process-connection-child-p(OBJ)
jsonrpc-process-connection-p(OBJ)
jsonrpc-process-type(CONN)
jsonrpc-request
jsonrpc-running-p(CONN)
jsonrpc-shutdown(CONN)
jsonrpc-stderr-buffer(CONN)

Defined faces (0)