https://github.com/downdemo/snet
Experimental C++20 Linux Reactor: Select/Poll/Epoll
https://github.com/downdemo/snet
computer-networks epoll
Last synced: about 1 year ago
JSON representation
Experimental C++20 Linux Reactor: Select/Poll/Epoll
- Host: GitHub
- URL: https://github.com/downdemo/snet
- Owner: downdemo
- License: mit
- Created: 2021-02-08T14:52:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-25T17:18:43.000Z (over 1 year ago)
- Last Synced: 2025-03-25T16:51:31.549Z (about 1 year ago)
- Topics: computer-networks, epoll
- Language: C++
- Homepage: https://downdemo.github.io/SNET/
- Size: 33.2 KB
- Stars: 28
- Watchers: 0
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/downdemo/SNET/actions/workflows/pipeline-ci.yml)
[](https://github.com/downdemo/SNET/blob/master/LICENSE)
## Documentation
* [tcpdump](docs/tcpdump.md)
* [Network I/O mode](docs/network_io_mode.md)
* [Socket API](docs/socket_api.md)
* [I/O multiplexing API](docs/io_multiplexing_api.md)
## Build
```sh
make
```
## [RFC](https://www.rfc-editor.org/)
* Ethernet: [RFC 894, A Standard for the Transmission of IP Datagrams over Ethernet Networks](https://www.rfc-editor.org/rfc/rfc894.html)
* ARP: [RFC 826, An Ethernet Address Resolution Protocol](https://www.rfc-editor.org/rfc/rfc826.html)
* PPP: [RFC 1661, The Point-to-Point Protocol (PPP)](https://www.rfc-editor.org/rfc/rfc1661.html)
* PPPoE: [RFC 2516, A Method for Transmitting PPP Over Ethernet (PPPoE)](https://www.rfc-editor.org/rfc/rfc2516.html)
* ICMPv4: [RFC 792, INTERNET CONTROL MESSAGE PROTOCOL](https://www.rfc-editor.org/rfc/rfc792.html)
* ICMPv6: [RFC 2463, Internet Control Message Protocol (ICMPv6)](https://www.rfc-editor.org/rfc/rfc2463.html)
* IPv4: [RFC 791, INTERNET PROTOCOL](https://www.rfc-editor.org/rfc/rfc791.html)
* IPv6: [RFC 8200, Internet Protocol, Version 6 (IPv6) Specification](https://www.rfc-editor.org/rfc/rfc8200.html)
* IANA IPv4 Address Space Registry: [RFC 1466, Guidelines for Management of IP Address Space](https://www.rfc-editor.org/rfc/rfc1466.html)
* Private IPv4 addresses: [RFC 1918, Address Allocation for Private Internets](https://www.rfc-editor.org/rfc/rfc1918.html)
* Private IPv6 addresses: [RFC 4193, Unique Local IPv6 Unicast Addresses](https://www.rfc-editor.org/rfc/rfc4193.html)
* NAT: [RFC 2663, IP Network Address Translator (NAT) Terminology and Considerations](https://www.rfc-editor.org/rfc/rfc2663.html)
* IGMPv3: [RFC 3376, Internet Group Management Protocol, Version 3](https://www.rfc-editor.org/rfc/rfc3376.html)
* IPSec: [RFC 2401, Security Architecture for the Internet Protocol](https://www.rfc-editor.org/rfc/rfc2401.html)
* PPTP: [RFC 2637, Point-to-Point Tunneling Protocol (PPTP)](https://www.rfc-editor.org/rfc/rfc2637.html)
* L2TP: [RFC 2661, Layer Two Tunneling Protocol "L2TP"](https://www.rfc-editor.org/rfc/rfc2661.html)
* TCP: [RFC 793, TRANSMISSION CONTROL PROTOCOL](https://www.rfc-editor.org/rfc/rfc793.html)
* TCP Extensions: [RFC 1323, TCP Extensions for High Performance](https://www.rfc-editor.org/rfc/rfc1323.html)
* UDP: [RFC 768, User Datagram Protocol](https://www.rfc-editor.org/rfc/rfc768.html)
* SOCKS5: [RFC 1928, SOCKS Protocol Version 5](https://www.rfc-editor.org/rfc/rfc1928.html)
* PNG: [RFC 2083, PNG (Portable Network Graphics) Specification Version 1.0](https://www.rfc-editor.org/rfc/rfc2083.html)
* JSON: [RFC 7159, The JavaScript Object Notation (JSON) Data Interchange Format](https://www.rfc-editor.org/rfc/rfc7159.html)
* SIP: [RFC 3261, SIP: Session Initiation Protocol](https://www.rfc-editor.org/rfc/rfc3261.html)
* RTP: [RFC 3550, RTP: A Transport Protocol for Real-Time Applications](https://www.rfc-editor.org/rfc/rfc3550.html)
* SSL: [RFC 6101, The Secure Sockets Layer (SSL) Protocol Version 3.0](https://www.rfc-editor.org/rfc/rfc6101.html)
* TLS 1.3: [RFC 8446, The Transport Layer Security (TLS) Protocol Version 1.3](https://www.rfc-editor.org/rfc/rfc8446.html)
* X.509: [RFC 8017, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile](https://www.rfc-editor.org/rfc/rfc5280.html)
* PKCS #1: [RFC 8017, PKCS #1: RSA Cryptography Specifications Version 2.2](https://www.rfc-editor.org/rfc/rfc8017.html)
* PKCS #8: [RFC 5208, Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2](https://www.rfc-editor.org/rfc/rfc5208.html)
* PKCS #12: [RFC 7972, PKCS #12: Personal Information Exchange Syntax v1.1](https://www.rfc-editor.org/rfc/rfc7292.html)
* HTTP/1.1: [RFC 7230, Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing](https://www.rfc-editor.org/rfc/rfc7230.html)
* HTTP/2: [RFC 7540, Hypertext Transfer Protocol Version 2 (HTTP/2)](https://www.rfc-editor.org/rfc/rfc7540.html)
* HTTP/3: [RFC 9114, HTTP/3](https://www.rfc-editor.org/rfc/rfc9114.html)
* QUIC: [RFC 9000, QUIC: A UDP-Based Multiplexed and Secure Transport](https://www.rfc-editor.org/rfc/rfc9000.html)
* HTTPS: [RFC 2818, HTTP Over TLS](https://www.rfc-editor.org/rfc/rfc2818.html)
* WebSocket: [RFC 6455, The WebSocket Protocol](https://www.rfc-editor.org/rfc/rfc6455.html)
* TELNET: [RFC 854, TELNET PROTOCOL SPECIFICATION](https://www.rfc-editor.org/rfc/rfc854.html)
* SSH: [RFC 4254, The Secure Shell (SSH) Connection Protocol](https://www.rfc-editor.org/rfc/rfc4254.html)
* DNS: [RFC 1034, DOMAIN NAMES](https://www.rfc-editor.org/rfc/rfc1034.html)
* DHCP: [RFC 2131, Dynamic Host Configuration Protocol](https://www.rfc-editor.org/rfc/rfc2131.html)
* NTP: [RFC 1305, Network Time Protocol (Version 3)](https://www.rfc-editor.org/rfc/rfc1305.html)
* TZif: [RFC 8536, The Time Zone Information Format (TZif)](https://www.rfc-editor.org/rfc/rfc8536.html)
* FTP: [RFC 959, FILE TRANSFER PROTOCOL (FTP)](https://www.rfc-editor.org/rfc/rfc959.html)
* NFSv4.2: [RFC 7862, Network File System (NFS) Version 4 Minor Version 2 Protocol](https://www.rfc-editor.org/rfc/rfc7862.html)
* NNTP: [RFC 977, Network News Transfer Protocol](https://www.rfc-editor.org/rfc/rfc977.html)
* POP3: [RFC 1939, Post Office Protocol - Version 3](https://www.rfc-editor.org/rfc/rfc1939.html)
* IMAP4: [RFC 1730, INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4](https://www.rfc-editor.org/rfc/rfc1730.html)
* SMTP: [RFC 2821, Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc2821.html)