package dune-rpc
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f7e2970bfab99c7766ff1a05deff5ad7f82cb2471abca6f72449572293f5f6b4
sha512=3b3a566f63842c314de2c0a660c5f7714bc90f8303c82d82e3021aee84980eff1886d15c9b9d4ea0047a411d799fb39d5f2ea70a92bdeb629e00d3d5d5f2d994
doc/dune-rpc/Dune_rpc/index.html
Module Dune_rpc
Source
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.