Net2: Evolved Networking Libraries
The net2 library is a framework for building networked communication protocols. It defines several abstractions for establishing connections to other parties in an abstract network, as well as tools for high- level communication between those parties.
Included in net2 is a full HTTP2 client and server implementation, allowing Racket programs to communicate over TLS-encrypted HTTP2 via TCP connections over the Internet, machine-local UNIX domain sockets, or in-memory pipes within a single Racket process. This functionality is defined across several modules:
net2 —
Provides everything and the kitchen sink. net2/data —
Spec-compliant definitions of various kinds of networking data, including IP addresses, DNS names, and URIs. net2/transport —
Defines transports, which abstract over sending and receiving bytes reliably between two networked parties. net2/connector —
Defines connectors for opening new transports with other parties. net2/listener —
Defines listeners for accepting requests from other parties to open new transports. net2/system —
Access to built-in networking provided by the operating system, including TCP connections, UNIX domain sockets, and TLS encrypted communication with OpenSSL.
Source code for this library is avaible on Github and is provided under the terms of the Apache License 2.0.