package shuttle

  1. Overview
  2. Docs
Reasonably performant non-blocking channels for async

Install

Dune Dependency

Authors

Maintainers

Sources

shuttle-0.9.2.tbz
sha256=69bf4d3ec9262dc981db5b6073c1d9e581c24fa1f1a49d20798eb3ae953ecdc3
sha512=36e95dcfce349f1acc586afa30c6b74d8212b9a8c0e32a2abcdbe09a87208b9ed2dc2c27aed3d65f4e9031260a3c54af7d0e9ebd7ba3d0b80182f17773dae24f

CHANGES.md.html

0.9.2

  • Allow creating ssl encrypted servers

0.9.1

  • Add client that supports keep-alive.

  • Add http clients that leverage Async_kernel's persistent connections.

0.9.0

  • Forward ssl connection details to shuttle_ssl server handlers

  • Remove listen and with_connection from shuttle_ssl. Use upgrade_server_connection and upgrade_client_connection with the regular Connection module provided within Shuttle.

  • Allow accessing the underlying buffer capacity for channels

  • Add helper method that creates server connections using inet sockets

  • Reliably schedule stream cleanup for all streaming server responses without forcing users to use any special functions to create the response

  • Add one-shot http client

  • Setup tcp server within http server module

0.8.1

  • Same content as 0.8.0, but it re-works the integration tests to not spawn external processes, and adds a constraint on shuttle_http to only have it available on 64 bit systems.

0.8.0

  • Revive the http codec as a new shuttle_http package

    • Http codec supports a timeout for reading Request headers

    • Server module reports a deferred that resolves when the server context closes. This can be usedul to register cleanup actions that should run when a server connection is torn down.

    • Using the utility methods within the Server module to create responses ensures that streams are torn down if the server connection is closed before a stream was fully consumed.

0.7.0

  • Remove support for blocking file descriptors

  • Output_channel accepts an optional user-provided Async Time_source

  • Input_channel accepts an optional user-provided Async Time_source

  • Support timeouts for Input_channel.refill

  • Remove read, read_line, lines from Input_channel

0.6.0

  • Increase upper bound for core/async to 0.15.0

0.5.0

  • Remove Buffer_is_full in favor of Bytebuffers that can grow upto a user provided max size

  • Flush operations reports if the write operations encountered an error

  • Reliably wakeup pending flushes when there is an error encountered while flushing pending bytes

0.4.0

  • Remove Bytebuffer from public api

  • Deprecate schedule_bigstring, write_string

  • Support reading lines from an input channel

  • Use Core_unix.IOVec to represent a view inside the input channel

  • Support file descriptors that don't support nonblocking IO

  • Remove the read_one_chunk_at_a_time interface from input channel

  • Switch to 0.15 series of core and async

0.3.1

  • Add support for using format strings for writing to an output channel.

  • Remove support for deferred responses from chunked reader callbacks.

  • Add a new shuttle_http library that implements a driver for httpaf server_connection.

0.3.0

  • Support creating a reader pipe from Input_channel.

  • Support creating a writer pipe from Output_channel.

  • Support encrypted channels using async_ssl.

0.2.0

  • Support deferred's in Input_channel.read_one_chunk_at_a_time

  • Support writing characters to output channels

0.1.0

  • Initial release