aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/net.c (unfollow)
Commit message (Collapse)Author
2023-06-14minor refactoringEgor Tensin
2023-06-09add {file,net}_close as a wrapper to close(2)Egor Tensin
2023-05-15net: drop the _all suffixEgor Tensin
2023-05-14msg: enforce at least one wordEgor Tensin
Also, move some stuff to net.c where it belongs.
2023-05-13best practices & coding style fixesEgor Tensin
* I don't really need to declare all variables at the top of the function anymore. * Default-initialize variables more. * Don't set the output parameter until the object is completely constructed.
2023-04-29net: use size instead of length for variable namesEgor Tensin
2023-04-29net: add struct bufEgor Tensin
2022-12-02add copyright noticesEgor Tensin
2022-09-08log: refactoringEgor Tensin
2022-08-30net: removed unused APIEgor Tensin
2022-08-30net: error out unless net_recv_all receives all bytesEgor Tensin
2022-08-30net: more portableEgor Tensin
Use a predefined byte order, integers with fixed width, etc.
2022-08-30net: bind to IPv6Egor Tensin
This makes sure we use the dual-stack feature to support both IPv4 and IPv6.
2022-08-28net: use MSG_NOSIGNALEgor Tensin
Apparently, if you try to write() into a socket with the other party already gone, your process receives a SIGPIPE. Wtf?
2022-08-26add check_errno macroEgor Tensin
2022-08-25net: rework APIEgor Tensin
First, rename all API functions so that they start with net_. Second, abstract the basic TCP server functionality into tcp_server.c. This includes reworking net_accept so that it's a simple blocking operation, and putting the callback stuff to tcp_server.c. Also, the server now uses detached threads instead of fork(), since I want connection handlers to share memory.
2022-08-23net: use CLOEXECEgor Tensin
I've only recently learned about this flag, seems generally useful.
2022-08-23net: fix recv_allEgor Tensin
Make sure we handle read() returning 0, this is a valid use-case.
2022-08-23add some codeEgor Tensin
A basic client-server app, the client sends commands as an array of strings. Hopefully I didn't mess up, and hopefully it'll be useful.