package conduit

  1. Overview
  2. Docs
A network connection establishment library

Install

Dune Dependency

Authors

Maintainers

Sources

conduit-v1.5.0.tbz
sha256=06b6476ba4d8caf4cbfccbf7fd181cb2e5fe459e5e8e4992617fd2d7bebcbfd1
sha512=8bddae1a238d58d1b59520afb4f627c4beaf9b5355cacc4087e6667e678392cbc681777e32874ee033ffe40da8a7f0d3bab38eed64f25d201294a9c3e3476978

doc/index.html

Introduction

The Conduit library abstracts the concerns of establishing connections to peers that may be running within the same host (e.g. in another virtual machine) or on a remote host via TCP. It consists of:

Connection Establishment

Connections are created by identifying remote nodes using an endp value. To ensure portability, the endpoints are translated into concrete connections by separate modules that target Lwt_unix, Async and Mirage. This lets those backends use the appropriate local technique for creating the connection (such as using OpenSSL on Unix, or a pure OCaml TLS+TCP implementation on Mirage, or some other combination).

The modules dealing with connection establishment are:

  • Conduit_lwt_unix
  • Conduit_async
  • Conduit_mirage

Name Resolution

This deals with resolving URIs into a list of endp addresses that can then be connected to by the connection establishment modules.

All of the name resolvers conform to the Resolver.S module type. The OS-specific implementations of this interface are:

  • Resolver_lwt
  • Resolver_lwt_unix
  • Resolver_mirage

Mirage Connections

On Mirage, the networking stack is configured via the application of functors to satisfy various signatures. Some of the available functors are:

  • Conduit_xenstore
  • Conduit_localhost

indexlist

OCaml

Innovation. Community. Security.