aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/net.c (follow)
Commit message (Collapse)AuthorAge
* net: use size instead of length for variable namesEgor Tensin2023-04-29
|
* net: add struct bufEgor Tensin2023-04-29
|
* add copyright noticesEgor Tensin2022-12-02
|
* log: refactoringEgor Tensin2022-09-08
|
* net: removed unused APIEgor Tensin2022-08-30
|
* net: error out unless net_recv_all receives all bytesEgor Tensin2022-08-30
|
* net: more portableEgor Tensin2022-08-30
| | | | Use a predefined byte order, integers with fixed width, etc.
* net: bind to IPv6Egor Tensin2022-08-30
| | | | | This makes sure we use the dual-stack feature to support both IPv4 and IPv6.
* net: use MSG_NOSIGNALEgor Tensin2022-08-28
| | | | | Apparently, if you try to write() into a socket with the other party already gone, your process receives a SIGPIPE. Wtf?
* add check_errno macroEgor Tensin2022-08-26
|
* net: rework APIEgor Tensin2022-08-25
| | | | | | | | | | 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.
* net: use CLOEXECEgor Tensin2022-08-23
| | | | I've only recently learned about this flag, seems generally useful.
* net: fix recv_allEgor Tensin2022-08-23
| | | | Make sure we handle read() returning 0, this is a valid use-case.
* add some codeEgor Tensin2022-08-23
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.