package atacama

  1. Overview
  2. Docs
Modern, pure OCaml socket pool for Riot

Install

Dune Dependency

Authors

Maintainers

Sources

atacama-0.0.4.tbz
sha256=49ff871a89259c300d22b38b35d0d184a80ffdd808121544f39874264d84e354
sha512=b00e32f9228715d1cbd21d89cd42b35805760cf01ff557d57020b2e9ff101d9a692f71f6b5b7f4f9f13961d989b5e70a42c78bcbb8b96d591615704cdd42e69c

CHANGES.md.html

Changes

0.0.4

  • Introduce Handler Switching – this lets a handler, at any point during the lifecycle, switch to a new handler and reinitizialize the connection.

    This is particularly useful for protocol upgrades such as going from HTTP/1.1 to HTTP/2 or WebSockets.

  • Introduce protocol negotiation to support SSL socket pools in Riot 0.0.8

  • Expose a direct Connection.receive and allow reading an exact number of bytes from a connection (useful for sniffing)

  • Introduce and update benchmarks in Go, Elixir, Erlang, Eio, and Rust

  • Refactor Transport/Socket interfaces to reuse buffers

  • Add echo_test to verify integrity of data

  • Add working TCP echo server example

  • Upgrade to Riot 0.0.7

0.0.3

  • Move example to use Riot Applications

  • Started reference projects for benchmarking

  • Log socket accept/receive errors

  • Always attempt to close a socket

0.0.2

  • Update to work with Riot 0.0.3

0.0.1

First release includes:

  • A pluggable architecture, where both Transports and Handlers can be configured in an Atacama supervision tree at startup time.

    This makes it easy to swap in the protocol used, which by default will be clear TCP sockets.

  • Easy-to-define handlers using module includes, so defining a new handler is as little as ~5 lines of OCaml.

  • A supervision tree for handling connections in an acceptor pool

  • Custom state per connection pool

  • An echo server example

  • Some telemetry events

  • Namespaced internal logging

OCaml

Innovation. Community. Security.