Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uNetworking/uSockets
Miniscule cross-platform eventing, networking & crypto for async applications
https://github.com/uNetworking/uSockets
async cross-platform miniscule ssl tcp
Last synced: about 2 months ago
JSON representation
Miniscule cross-platform eventing, networking & crypto for async applications
- Host: GitHub
- URL: https://github.com/uNetworking/uSockets
- Owner: uNetworking
- License: apache-2.0
- Created: 2017-04-14T01:04:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-22T13:23:08.000Z (5 months ago)
- Last Synced: 2024-05-28T01:08:09.056Z (4 months ago)
- Topics: async, cross-platform, miniscule, ssl, tcp
- Language: C
- Homepage:
- Size: 835 KB
- Stars: 1,223
- Watchers: 57
- Forks: 253
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Optimized TCP, TLS, QUIC & HTTP3 transports
µSockets is the non-blocking, thread-per-CPU foundation library used by [µWebSockets](https://github.com/uNetworking/uWebSockets). It provides optimized networking - using the same opaque API (programming interface) across all supported transports, event-loops and platforms (QUIC is work-in-progress, so is io_uring).
## Write code once
Based on µSockets, apps like µWebSockets can run on many platforms, over many transports and with many event-loops - all without any code changes or special execution paths. Moving data over TCP is just as easy as over QUIC.Hit `make examples` to get started.
## Lightweight or featureful
In its minimal, TCP-only, configuration µSockets has no dependencies other than the very OS kernel and compiles down to a tiny binary. In its full configuration it depends on BoringSSL, lsquic and potentially some event-loop library.Here are some configurations; WITH_IO_URING, WITH_LIBUV, WITH_ASIO, WITH_GCD, WITH_ASAN, WITH_QUIC, WITH_BORINGSSL, WITH_OPENSSL, WITH_WOLFSSL.
## Fast & stable
µWebSockets itself is known to have run with outstanding performance and stability since 2016. This thanks to, among other factors, the speed and stability of µSockets. We fuzz and randomly "hammer test" the library as part of security & stability testing done in the µWebSockets project.