Expand description
Wrappers de la famille net — sockets synchrones.
Cf. docs/specs/layer-0/family-net.md.
Toutes les opérations de cette famille sont synchrones. Les variantes io_uring seront ajoutées au Temps 2b (ADR-022), en réutilisant les mêmes types.
Functions§
- accept4
- Accepte une connexion entrante.
- bind
- Lie un socket à une adresse locale.
- connect
- Initie une connexion vers un pair.
- get_
so_ bindtodevice - Lit l’interface liée au socket.
- get_
so_ error - Lit l’erreur socket en attente (
SO_ERROR) et l’efface. - get_
so_ keepalive - Lit l’option
SO_KEEPALIVE. - get_
so_ linger - Lit l’option
SO_LINGER. - get_
so_ peercred - Lit les credentials du pair Unix (
SO_PEERCRED). - get_
so_ rcvbuf - Lit la taille du buffer de réception (
SO_RCVBUF). - get_
so_ reuseaddr - Lit l’option
SO_REUSEADDR. - get_
so_ reuseport - Lit l’option
SO_REUSEPORT. - get_
so_ sndbuf - Lit la taille du buffer d’envoi (
SO_SNDBUF). - get_
socket_ option_ int - Lit une option socket à valeur entière (
getsockopt). Exposition publique de [getsockopt_i32] pour la face libc. - get_
tcp_ nodelay - Lit l’option
TCP_NODELAY(désactivation de l’algorithme Nagle). - getpeername
- Retourne l’adresse du pair connecté.
- getsockname
- Retourne l’adresse locale du socket.
- join_
multicast_ v4 - Rejoint un groupe multicast IPv4 (
IP_ADD_MEMBERSHIP,struct ip_mreq). - join_
multicast_ v6 - Rejoint un groupe multicast IPv6 (
IPV6_ADD_MEMBERSHIP,struct ipv6_mreq). - leave_
multicast_ v4 - Quitte un groupe multicast IPv4 (
IP_DROP_MEMBERSHIP,struct ip_mreq). - leave_
multicast_ v6 - Quitte un groupe multicast IPv6 (
IPV6_DROP_MEMBERSHIP,struct ipv6_mreq). - listen
- Met un socket en mode écoute.
- receive_
timeout - Lit le délai de réception (
SO_RCVTIMEO).None= aucun délai armé. - recv
- Reçoit des données d’un socket connecté.
- recvmsg
- Reçoit un message avec données de contrôle (ancillaires).
- send
- Envoie des données sur un socket connecté.
- send_
timeout - Lit le délai d’envoi (
SO_SNDTIMEO).None= aucun délai armé. - sendmsg
- Envoie un message avec données de contrôle (ancillaires).
- set_
ip_ ttl - Définit le TTL IP (
IP_TTL). - set_
ipv6_ v6only - Restreint les sockets IPv6 aux connexions IPv6-only (
IPV6_V6ONLY). - set_
receive_ timeout - Définit le délai de réception (
SO_RCVTIMEO).Nonedésarme le délai. - set_
send_ timeout - Définit le délai d’envoi (
SO_SNDTIMEO).Nonedésarme le délai. - set_
so_ bindtodevice - Lie le socket à une interface réseau (
SO_BINDTODEVICE). - set_
so_ keepalive - Définit l’option
SO_KEEPALIVE. - set_
so_ linger - Définit l’option
SO_LINGER. - set_
so_ rcvbuf - Définit la taille du buffer de réception.
- set_
so_ reuseaddr - Définit l’option
SO_REUSEADDR. - set_
so_ reuseport - Définit l’option
SO_REUSEPORT. - set_
so_ sndbuf - Définit la taille du buffer d’envoi.
- set_
socket_ option_ int - Définit une option socket à valeur entière (
setsockoptavecoptlen == 4). Exposition publique de [setsockopt_i32] pour la face libc :level/optnamesont les entiers bruts fournis par le C (validés par le kernel). - set_
tcp_ keepcnt - Définit le nombre max de keepalives sans réponse (
TCP_KEEPCNT). - set_
tcp_ keepidle - Définit le délai
TCP_KEEPIDLE(secondes d’inactivité avant premier keepalive). - set_
tcp_ keepintvl - Définit le délai
TCP_KEEPINTVL(secondes entre deux keepalives). - set_
tcp_ nodelay - Définit l’option
TCP_NODELAY. - shutdown
- Ferme partiellement ou totalement un socket connecté.
- socket
- Crée un socket.
- socket_
addr_ from_ bytes - Décode un
sockaddrkernel brut (octets +socklen_t) en [SocketAddr] typé. Exposition publique de [raw_to_socket_addr] pour la face libc :bytesest le buffer présenté par le C,lengthla longueur associée. RendNonesi la famille est inconnue ou la longueur insuffisante — aucune présomption sur les octets (Principe 3), aucununsafe. - socket_
addr_ to_ bytes - Encode un [
SocketAddr] typé ensockaddrkernel brut dansout, rendant la longueur effective (socklen_t) écrite, ouNonesioutest trop court. Exposition publique de [socket_addr_to_raw] pour la face libc sans fuiter le type de stockage interne (copie bornée dans le buffer de l’appelant). - socketpair
- Crée une paire de sockets connectés.