xs_tcp_send_request(9)
β¨ xs_tcp_send_request(9) β¨
okay so this is a page from the Kernel API Manual, and it's literally all about xs_tcp_send_request β the little icon that pushes your RPC request out onto a TCP socket. bestie, let's get into it π
πΈ NAME πΈ
xs_tcp_send_request β write an RPC request to a TCP socket β¨
π¦ SYNOPSIS π¦
int xs_tcp_send_request (struct rpc_rqst *req );
π ARGUMENTS π
reqβ pointer to RPC request π (yes that's it, that's the whole vibe)
π DESCRIPTION π
So here's the tea β β this thing returns an int, and the value it gives you tells you exactly what went down. Return values, bestie:
0β The request has been sent β slay, it workedEAGAINβ The socket was blocked, please call again later to complete the request π lowkey annoying but just come back later, it's fineENOTCONNβ Caller needs to invoke connect logic then call again π«Ά so go connect first, then try again- other β Some other error occurred, the request was not sent π not the vibe
XXX: In the case of soft timeouts, should we eventually give up if sendmsg is not able to make progress? π€ ngl this is an open question the page just... leaves hanging there. iconic of it, honestly.
π SEE ALSO π
Kernel file ./net/sunrpc/xprtsock.c β and here's the whole friend group, fr fr (iykyk):
xs_nospace(9)xs_local_send_request(9)xs_udp_send_request(9)xs_error_report(9)xs_close(9)xs_destroy(9)xs_udp_data_read_skb(9)xs_data_ready(9)xs_local_state_change(9)xs_tcp_state_change(9)xs_udp_write_space(9)xs_tcp_write_space(9)xs_udp_set_buffer_size(9)xs_udp_timer(9)xs_set_port(9)xs_local_setup_socket(9)xs_enable_swap(9)xs_disable_swap(9)xs_tcp_shutdown(9)xs_tcp_setup_socket(9)xs_tls_handshake_done(9)xs_tcp_tls_setup_socket(9)xs_connect(9)xs_local_print_stats(9)xs_udp_print_stats(9)xs_tcp_print_stats(9)bc_send_request(9)xs_setup_local(9)xs_setup_udp(9)xs_setup_tcp(9)xs_setup_tcp_tls(9)xs_setup_bc_tcp(9)init_socket_xprt(9)cleanup_socket_xprt(9)
and that's the whole page, bestie π it lives in ./net/sunrpc, dated October 2026, and it's literally called xs_tcp_send_request(9). go off, kernel docs πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms