Commit message (Collapse) | Author | ||
---|---|---|---|
2023-12-12 | switch to egor@tensin.name | Egor Tensin | |
2023-11-15 | implement a command to list runs | Egor Tensin | |
2023-07-18 | net: don't copy data in struct buf | Egor Tensin | |
2023-07-18 | net: remove unused buf_* routines | Egor Tensin | |
2023-07-10 | test: test long CI run output | Egor Tensin | |
It immediately exposed a horrible bug in net.c, which is now fixed. | |||
2023-06-30 | fix function names in error messages | Egor Tensin | |
2023-06-14 | minor refactoring | Egor Tensin | |
2023-06-09 | add {file,net}_close as a wrapper to close(2) | Egor Tensin | |
2023-05-15 | net: drop the _all suffix | Egor Tensin | |
2023-05-14 | msg: enforce at least one word | Egor Tensin | |
Also, move some stuff to net.c where it belongs. | |||
2023-05-13 | best practices & coding style fixes | Egor 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-29 | net: use size instead of length for variable names | Egor Tensin | |
2023-04-29 | net: add struct buf | Egor Tensin | |
2022-12-02 | add copyright notices | Egor Tensin | |
2022-09-08 | log: refactoring | Egor Tensin | |
2022-08-30 | net: removed unused API | Egor Tensin | |
2022-08-30 | net: error out unless net_recv_all receives all bytes | Egor Tensin | |
2022-08-30 | net: more portable | Egor Tensin | |
Use a predefined byte order, integers with fixed width, etc. | |||
2022-08-30 | net: bind to IPv6 | Egor Tensin | |
This makes sure we use the dual-stack feature to support both IPv4 and IPv6. | |||
2022-08-28 | net: use MSG_NOSIGNAL | Egor Tensin | |
Apparently, if you try to write() into a socket with the other party already gone, your process receives a SIGPIPE. Wtf? | |||
2022-08-26 | add check_errno macro | Egor Tensin | |
2022-08-25 | net: rework API | Egor 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-23 | net: use CLOEXEC | Egor Tensin | |
I've only recently learned about this flag, seems generally useful. | |||
2022-08-23 | net: fix recv_all | Egor Tensin | |
Make sure we handle read() returning 0, this is a valid use-case. | |||
2022-08-23 | add some code | Egor 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. |