aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/net.c (follow)
Commit message (Collapse)AuthorAge
* add {file,net}_close as a wrapper to close(2)Egor Tensin2023-06-09
|
* net: drop the _all suffixEgor Tensin2023-05-15
|
* msg: enforce at least one wordEgor Tensin2023-05-14
| | | | Also, move some stuff to net.c where it belongs.
* best practices & coding style fixesEgor Tensin2023-05-13
| | | | | | | | * 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.
* 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.