socket2

Advanced configuration options for sockets.

Latest version: 0.6.3 registry icon
Maintenance score
100
Safety score
97
Popularity score
89
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
0.6.3 0 0 0 0 0
0.6.2 0 0 0 0 0
0.6.1 0 0 0 0 0
0.6.0 0 0 0 0 0
0.5.10 0 0 0 0 0
0.5.9 0 0 0 0 0
0.5.8 0 0 0 0 0
0.5.7 0 0 0 0 0
0.5.6 0 0 0 0 0
0.5.5 0 0 0 0 0
0.5.4 0 0 0 0 0
0.5.3 0 0 0 0 0
0.5.2 0 0 0 0 0
0.5.1 0 0 0 0 0
0.5.0 0 0 0 0 0
0.4.10 0 0 0 0 0
0.4.9 0 0 0 0 0
0.4.8 0 0 0 0 0
0.4.7 0 0 0 0 0
0.4.6 0 0 0 0 0
0.4.5 0 0 0 0 0
0.4.4 0 0 0 0 0
0.4.3 0 0 0 0 0
0.4.2 0 0 0 0 0
0.4.1 0 0 0 0 0
0.4.0 0 0 0 0 0
0.3.19 0 0 0 0 0
0.3.18 0 0 0 0 0
0.3.17 0 0 0 0 0
0.3.16 0 0 0 0 0
0.3.15 0 1 1 0 0
0.3.14 0 1 1 0 0
0.3.13 0 1 1 0 0
0.3.12 0 1 1 0 0
0.3.11 0 1 1 0 0
0.3.10 0 1 1 0 0
0.3.9 0 1 1 0 0
0.3.8 0 1 1 0 0
0.3.7 0 1 1 0 0
0.3.6 0 1 1 0 0
0.3.5 0 1 1 0 0
0.3.4 0 1 1 0 0
0.3.3 0 1 1 0 0
0.3.2 0 1 1 0 0
0.3.1 0 1 1 0 0
0.3.0 0 1 1 0 0
0.2.4 0 1 1 0 0
0.2.3 0 1 1 0 0
0.2.2 0 1 1 0 0
0.2.1 0 1 1 0 0
0.2.0 0 1 1 0 0
0.1.0 0 1 1 0 0

Stability
Latest release:

0.6.3 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant


Apache-2.0   -   Apache License 2.0

Not a wildcard

Not proprietary

OSI Compliant



Socket2

Socket2 is a crate that provides utilities for creating and using sockets.

The goal of this crate is to create and use a socket using advanced configuration options (those that are not available in the types in the standard library) without using any unsafe code.

This crate provides as direct as possible access to the system's functionality for sockets, this means little effort to provide cross-platform utilities. It is up to the user to know how to use sockets when using this crate. If you don't know how to create a socket using libc/system calls then this crate is not for you. Most, if not all, functions directly relate to the equivalent system call with no error handling applied, so no handling errors such as EINTR. As a result using this crate can be a little wordy, but it should give you maximal flexibility over configuration of sockets.

See the API documentation for more.

Branches

Currently Socket2 supports the following versions:

OS support

Socket2 attempts to support the same OS/architectures as Rust does, see https://doc.rust-lang.org/nightly/rustc/platform-support.html. However this is not always possible, below is current list of support OSs.

If your favorite OS is not on the list consider contributing it!

Tier 1

These OSs are tested with each commit in the CI and must always pass the tests. All functions/types/etc., excluding ones behind the all feature, must work on these OSs.

  • Linux
  • macOS
  • Windows

Tier 2

These OSs are currently build in the CI, but not tested. Not all functions/types/etc. may work on these OSs, even ones not behind the all feature flag.

  • Android
  • FreeBSD
  • Fuchsia
  • iOS
  • illumos
  • NetBSD
  • Redox
  • Solaris
  • OpenHarmony

Minimum Supported Rust Version (MSRV)

Socket2 uses 1.70.0 as MSRV.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.