Commit Graph

188 Commits (master)

Author SHA1 Message Date
Philippe Pittoli 0356540e7b Pongd test code for Crystal bindings. 2023-01-25 04:47:47 +01:00
Philippe Pittoli a958666060 Crystal library: uncluttered by test code. 2023-01-25 04:47:17 +01:00
Philippe Pittoli ae99353c19 IPC::loop. 2023-01-24 15:22:51 +01:00
Philippe Pittoli 12123b0cb4 Remove useless prints. 2023-01-24 00:50:46 +01:00
Philippe Pittoli b0cf9638ec Crystal bindings: allow bigger messages. 2023-01-21 19:08:24 +01:00
Philippe Pittoli 51cad2c07d API change: ipc_context_deinit now frees context memory. 2023-01-21 19:06:44 +01:00
Philippe Pittoli 21ecf157d1 Crystal bindings: most functions done. Can be used for real. 2023-01-21 07:32:44 +01:00
Philippe Pittoli 368513bca5 Crystal bindings are in good shape. 2023-01-21 05:52:18 +01:00
Philippe Pittoli 9696190e99 Bindings Crystal: working! Pong client works as expected. 2023-01-21 05:10:55 +01:00
Philippe Pittoli e6ad0ce65c Some Crystal code to work on bindings. 2023-01-21 03:26:56 +01:00
Philippe Pittoli eb99ba6cb2 Bindings: update API (following previous naming consistency changes). 2023-01-20 23:14:02 +01:00
Philippe Pittoli 3e3d996e7b Naming consistency fixed (MESSAGE_TX and MESSAGE_RX). 2023-01-20 23:12:04 +01:00
Philippe Pittoli da27ce33dd TODO: build.zig now creates binaries. 2023-01-20 23:11:28 +01:00
Philippe Pittoli 06a01f2b4b Add several example programs. 2023-01-20 04:04:12 +01:00
Philippe Pittoli 132743442b makefile.user: simpler, build.zig handles many operations now. 2023-01-20 03:50:47 +01:00
Philippe Pittoli a0c446ca28 Use build.zig instead of the makefile to build binaries. 2023-01-20 02:02:47 +01:00
Philippe Pittoli b2bf66c436 Hexdump: complete rewrite, fixes all known problems. 2023-01-19 02:58:31 +01:00
Philippe Pittoli 0feb31b4c7 hexdump: fix last byte not printed and last line space shift. 2023-01-19 01:44:26 +01:00
Philippe Pittoli cab07003ad Add specific TODO for zig implementation. 2023-01-19 01:22:37 +01:00
Philippe Pittoli 273204af6d Makefile: add new bin to compile in build-all, valgrind opts. 2023-01-19 01:04:29 +01:00
Philippe Pittoli b59ad86e41 Exchange-fd: replace a few "undefined". 2023-01-19 01:03:19 +01:00
Philippe Pittoli b111982a0f Makefile: start app with right IPC_NETWORK envvar. 2023-01-18 23:56:23 +01:00
Philippe Pittoli 3123051ef0 Fix switch read message + add print debug. 2023-01-18 23:55:48 +01:00
Philippe Pittoli 9dc4cfa003 Remove debug print. 2023-01-18 22:38:17 +01:00
Philippe Pittoli 2befab21e2 FD exchange: fix two minor memory problems. 2023-01-18 22:36:14 +01:00
Philippe Pittoli 9462224255 Bindings: use uint16_t and uint32_t types. 2023-01-18 22:35:22 +01:00
Philippe Pittoli 3695a8ec82 Makefile: add debug options (valgrind). 2023-01-18 20:09:38 +01:00
Philippe Pittoli 6601eb61b0 Bindings: fixing libipc.h. 2023-01-18 17:26:06 +01:00
Philippe Pittoli f07b915124 API change introduced bugs in switch: fixed. 2023-01-18 17:22:56 +01:00
Philippe Pittoli eafdc3749a Add a few entries in .gitignore. 2023-01-18 14:02:11 +01:00
Philippe Pittoli 66ddeb2207 Makefile: add files and directories to remove on 'clean'. 2023-01-18 14:01:42 +01:00
Philippe Pittoli caf255d6c4 Code example for iterating on directory entries. 2023-01-18 13:59:11 +01:00
Philippe Pittoli 3514b4fe96 Switch: tests pass. 2023-01-18 01:46:42 +01:00
Philippe Pittoli 13a60d0158 Bindings: simpler in and out fn for switchs, leading to simpler bindings. 2023-01-18 01:34:30 +01:00
Philippe Pittoli e80e99d47f Bindings: no more memory errors, fix typing. 2023-01-17 07:51:41 +01:00
Philippe Pittoli ed9cd24b22 Bindings: libipc.h almost complete, correct types, fix callconv. 2023-01-17 05:47:14 +01:00
Philippe Pittoli 178f205d44 Minor fix for the drop/Makefile (two '-o' options). 2023-01-17 04:42:05 +01:00
Philippe Pittoli 5b73186353 Bindings: pong client and service. 2023-01-17 04:33:09 +01:00
Philippe Pittoli c8f34ef3c2 Bindings: switch functions. 2023-01-17 04:32:24 +01:00
Philippe Pittoli 472dd1f1ab Bindings: wait_event + schedule. 2023-01-17 01:27:55 +01:00
Philippe Pittoli 71aa496501 Bindings: read from fd. 2023-01-17 00:16:58 +01:00
Philippe Pittoli 125a960816 Bindings: context init+deinit, connect+init service, write msg ok. 2023-01-16 23:58:30 +01:00
Philippe Pittoli a8224c1cf9 Bindings: first draft (context init & deinit). 2023-01-16 22:26:15 +01:00
Philippe Pittoli a6cfa88f79 Context uses an allocator, currently a simple c_allocator. 2023-01-16 21:58:22 +01:00
Philippe Pittoli c5e3b7b901 Binding example: works as expected (with c_allocator for now). 2023-01-16 20:34:23 +01:00
Philippe Pittoli 8ea70b51ee test-bindings: pong.c 2023-01-14 01:09:03 +01:00
Philippe Pittoli d585ffb8ee Example code: C code working with Zig functions. 2023-01-13 02:06:19 +01:00
Philippe Pittoli 32fd31934c Example code: first steps towards C bindings. 2023-01-13 02:05:17 +01:00
Philippe Pittoli aca3f2183d TCPd: code simplification & (most important) error management. 2023-01-12 21:02:05 +01:00
Philippe Pittoli 614e972b95 An example of working function exports. 2023-01-12 17:31:51 +01:00
Philippe Pittoli f3c7695462 Change a simple comment. 2023-01-12 00:26:10 +01:00
Philippe Pittoli bb9d397a40 TCPd works. TODO: proper error management. 2023-01-11 19:58:45 +01:00
Philippe Pittoli 1034b1aa5c TCPd: preliminary work. Lacks actual TCP connection but switching is okay. 2023-01-11 16:34:43 +01:00
Philippe Pittoli ba6671d902 Less debug messages. 2023-01-11 16:30:08 +01:00
Philippe Pittoli 28d7dd8fc2 Next video: orelse + some possible error improvements. 2023-01-11 16:05:39 +01:00
Philippe Pittoli 58320cbb46 Makefile: tcpd, zig links against libc. 2023-01-11 16:04:16 +01:00
Philippe Pittoli 1e3c1b2625 Switch, IPCd and TCPd are working. 2023-01-11 15:59:35 +01:00
Philippe Pittoli 871b2b249c Switch: almost there. 2023-01-11 15:05:16 +01:00
Philippe Pittoli b73550bdcf Add a very limited URI parser. 2023-01-11 14:16:01 +01:00
Philippe Pittoli a0e9515600 Switch code mostly done, needs testing. 2023-01-10 17:09:34 +01:00
Philippe Pittoli 5ad00d0675 SwitchDB: nuke 'em. 2023-01-08 20:45:35 +01:00
Philippe Pittoli 45f3fa1860 Next video: minimal timer library. 2023-01-08 20:06:59 +01:00
Philippe Pittoli 506bd21d57 SwitchDB: in/out should be fine. 2023-01-08 20:06:22 +01:00
Philippe Pittoli 0cf2e5ef1f Next video: talk about error management. 2023-01-08 12:46:56 +01:00
Philippe Pittoli 978676051a Switch: first solid draft, lacks some tests. 2023-01-08 12:46:21 +01:00
Philippe Pittoli ec787d7496 Switch: fn draft for read/write switched ipc messages. 2023-01-07 19:04:05 +01:00
Philippe Pittoli fb12f65218 Switch: WIP. 2023-01-07 16:46:39 +01:00
Philippe Pittoli 49089b910b Grooming. 2023-01-07 16:46:17 +01:00
Philippe Pittoli 2a714cd064 Service name from ipcd to ipc. Some comments changes. 2023-01-05 17:28:24 +01:00
Philippe Pittoli d99a8d13e3 Remove message type. It was useless: msg to IPCd is LOOKUP. 2023-01-05 11:49:33 +01:00
Philippe Pittoli 4bbd5fc686 Pong client: code is fine. 2023-01-05 11:07:29 +01:00
Philippe Pittoli 49b1b3bab2 Grooming and fixing iov length (big WIP). 2023-01-04 13:29:40 +01:00
Philippe Pittoli 1a6c13c85d Grooming and fix reported message length. 2023-01-04 13:06:29 +01:00
Philippe Pittoli ce28b72f3b Pongd. 2023-01-04 11:55:47 +01:00
Philippe Pittoli 9ea49087bd Fix mem leak (forgot a message deinit). 2023-01-04 11:46:34 +01:00
Philippe Pittoli d72aac1a50 IPCd is working for aliases. No error management, WIP. 2023-01-04 11:34:49 +01:00
Philippe Pittoli 1b19118701 Remove done TODOs. 2023-01-04 08:34:30 +01:00
Philippe Pittoli 54fc5aa9e0 Fix mem leaks in ipcd. 2023-01-03 18:18:16 +01:00
Philippe Pittoli fc0c28fb7e Fixed many errors. 2023-01-03 12:07:55 +01:00
Philippe Pittoli 4421ee31c4 Stuff to say for the next video. 2023-01-03 10:56:48 +01:00
Philippe Pittoli bbf7e669ff Stuff. 2023-01-03 10:56:01 +01:00
Philippe Pittoli 78670e5b71 Add library in src/ to exchange file descriptor. 2023-01-03 01:31:20 +01:00
Philippe Pittoli b43fd57704 Receiving fd with Zig! 2023-01-02 08:36:14 +01:00
Philippe Pittoli 14509b8d28 Sending a file descriptor through a UNIX socket. 2023-01-01 20:50:08 +01:00
Philippe Pittoli 4fac81b143 Grooming. 2023-01-01 18:20:57 +01:00
Philippe Pittoli b50d910906 Some simplifications. 2023-01-01 18:19:39 +01:00
Philippe Pittoli 8012cff4bf makefile: add access logs file 2022-12-31 05:00:01 +01:00
Philippe Pittoli 266f1daaad Pong client. 2022-12-31 04:59:06 +01:00
Philippe Pittoli 2ad505b305 Clients are working. 2022-12-31 04:58:45 +01:00
Philippe Pittoli 79f9fdc3e2 Context: slowly add client-related functions. 2022-12-29 15:31:15 +01:00
Philippe Pittoli 8a347f9ece makefile (clean rule): removing *.o 2022-12-29 12:19:07 +01:00
Philippe Pittoli c77ae35751 ipcd: handling SIGHUP 2022-12-29 12:16:12 +01:00
Philippe Pittoli 05a47b8473 makefile: add servedoc rule (serving doc through darkhttpd) 2022-12-29 12:15:20 +01:00
Philippe Pittoli 4b0778e37d Mrproper 2022-12-29 10:33:02 +01:00
Philippe Pittoli de1d221881 Grooming. 2022-12-29 10:12:40 +01:00
Philippe Pittoli 98eede6814 Tests are passing. Simpler makefile. 2022-12-27 22:39:23 +01:00
Karchnu 1a161d1b14 Do not quit after timeout. 2022-12-26 08:21:29 +01:00
Philippe Pittoli e7c1c8b96d Misc program, fix a wrong value (message type ERROR -> DATA). 2022-12-25 22:18:33 +01:00
Philippe Pittoli c7f48d21e4 Add a new misc program. 2022-12-25 22:18:14 +01:00
Philippe Pittoli 9eea1dbc07 move misc program 2022-12-25 22:14:50 +01:00