package dune-rpc

  1. Overview
  2. Docs
Communicate with dune using rpc

Install

Dune Dependency

Authors

Maintainers

Sources

dune-3.16.1.tbz
sha256=b781ae20f87613c2a11bd0717809e00470c82d615e15264f9a64e033051ac3de
sha512=fddf940d5634400fa14f6728235e0dba055b90a47f868d9fee80c9523b93fb2b9920a00e70dfdc5e1dd26a21d695ce854267b6a2ec305ce89ce9447733f7242c

doc/dune-rpc/Dune_rpc/index.html

Module Dune_rpcSource

Implementation of the protocol used by dune rpc. Independent of IO and any specific rpc requests. The protocol described here is stable and is relied on by 3rd party clients.

The implementation is loosely modelled on jsonrpc. It defines the following concepts:

Session - An active rpc session

Request - A unique id with a call sent by a client. A server must respond to every request

Notification - A call send by a client. A server must not respond to a notification

It contains hooks that make it possible to use with any custom scheduler that uses fibers

The API in this version is versioned. When using this library, we expect that the module corresponding to a particular version is used exclusively.

While we guarantee stability of the API, we reserve the right to:

  • Add optional arguments to functions
  • Add new fields to records
  • New variant constructors that will not cause runtime errors in existing user programs.

This means that you must refrain from re-exporting any values, constructing any records, using any module types as functor arguments, or make non exhaustive matches an error to guarantee compatibility.

  • alert unstable The API of this library is not stable and may change without notice.
Sourcemodule V1 : sig ... end
OCaml

Innovation. Community. Security.