Skip to content

Releases: suri-framework/atacama

0.0.5

11 Apr 03:46
d1cb9be

Choose a tag to compare

CHANGES:

  • Bring up to latest Riot version – thanks @metame! 👏

  • Introduce handle_message callback to allow connector processes to receive
    out-of-band messages from other Riot processes

  • Introduce configurable transports with their own configruation

  • Introduce configurable connection limits and a dynamic connection pool

  • Introduce SSL Transport

  • Introduce Connection Peer data including the address and port

  • Expose new connection measurements such as time the connection was accepted
    (accepted_at) and time at which the connection was established (connected_at)

  • Move to bytestrings and iovecs

  • Default to not reusing ports

0.0.4

29 Dec 20:24
6cee742

Choose a tag to compare

CHANGES:

  • 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

24 Nov 07:58
f6e6a6d

Choose a tag to compare

Changes:

  • 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

21 Nov 20:04
a3b1ff3

Choose a tag to compare

Changes:

  • Update to work with Riot 0.0.3

0.0.1

15 Nov 14:39
58c51b9

Choose a tag to compare

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