Commit graph

35 commits

Author SHA1 Message Date
077d47f8b2
feat: clean up local_actors/outbound tables when senders exit
The endpoint now links to each local actor when it is first assigned an
outbound wire ID, trapping the exit to remove stale entries from the
outbound and local_actors tables.

To preserve spawn_link semantics, the endpoint stores the spawner's
instance_id() at init time. Trapped exits from the spawner are always
re-propagated regardless of whether the spawner also appears as an outbound
sender.
2026-03-12 22:21:27 +01:00
bbcc800964
refactor: add remote exit test 2026-03-10 23:02:29 +01:00
981ab22c5c
feat: implement endpoint link and exit handling 2026-03-10 23:01:59 +01:00
9a7cc8faed
refactor: implement transport_error 2026-03-10 15:46:02 +01:00
bf45b592ac
refactor: remove proxy_id concept entirely
Not really needed and just adds extra fluff.
2026-03-10 15:25:20 +01:00
e32dc6e9b8
refactor: make all tests write to a test trace file when TRACE=true 2026-03-10 15:15:42 +01:00
c33802f559
fix: cpp tests hanging when traces are enabled 2026-03-10 15:09:51 +01:00
0c66093726
refactor: make remote tests write trace files on TRACE=true 2026-03-10 15:09:10 +01:00
e75eb2d6cd
feat(remote): implement proxy from-substitution and outbound ID routing
Inbound wire messages are now delivered FROM the proxy representing the
remote sender, so local actors see a replyable `from`. This enables full
two-way communication across the wire:

- endpoint: deliver send_named/send via proxy (deliver_named/deliver_pid)
  instead of sending raw; from_id=0 bypasses proxy for anonymous sends

- proxy: handle deliver_named and deliver_pid to send from within actor
  scope (providing from-substitution); cache one owned pid clone per sender
  keyed by stable instance_id() to avoid use-after-free when forwarding
  reply handles to the endpoint asynchronously

- test: add remote_endpoint_id_test covering the full inbound proxy table /
  from-substitution / outbound ID table / send-by-ID round-trip

- test: extend remote_child_endpoint with echo_id actor and send_wire_by_id
  to support the new test
2026-03-10 12:59:13 +01:00
cb37b9b82b
WIP: add remaining message types 2026-03-07 14:51:25 +01:00
0e804fc61f
WIP: add remote_endpoint_test 2026-03-07 14:46:18 +01:00
b580d9da36
WIP: refactor: add remote_roundtrip_test 2026-03-06 21:32:14 +01:00
47f4202b94
WIP refactor: add remote_poc_test 2026-03-06 21:24:08 +01:00
8d359a75a1
refactor: clean-up ip_tcp_client_server_c 2026-03-04 21:45:01 +01:00
e9c1758101
feat: add thespian_unexpected to C API 2026-03-04 21:42:30 +01:00
5789db98fc
fix: ip_tcp_client_server_c 2026-03-04 21:34:11 +01:00
ca4d224db4
refactor: add lots of logging 2026-03-04 21:06:53 +01:00
824faa87da
refactor: add a test using the C API 2026-03-04 20:22:26 +01:00
e9998ce127
refactor: remove junk c api tests 2026-03-04 19:48:01 +01:00
33229ffc11
fix: clean-up and fix ip_tcp_client_server.zig testcase 2026-03-04 19:41:39 +01:00
b16a47efae
fix: ip_tcp_client_server.zig testcase 2026-03-04 18:34:42 +01:00
224342611c
WIP: start work on a ip_tcp_client_server test in zig 2026-03-04 10:49:33 +01:00
d1cb42d53c
feat: add C & Zig bindings for socket 2026-03-04 10:49:33 +01:00
e19ff271d0
feat: add C & Zig bindings for tcp connector and acceptor 2026-03-04 10:49:33 +01:00
ed91a28f5f
feat: add C & Zig bindings for unix acceptor and connector 2026-03-04 10:49:33 +01:00
42a98a44e7
build: migrate to separate cbor package 2025-03-26 20:38:47 +01:00
0dee31636e
Merge branch 'master' into zig-0.14 2025-01-30 18:25:08 +01:00
2dd2b9e087
refactor: run clang linter and formatter 2025-01-20 18:21:54 +01:00
c6432f7490
build: update to zig-0.14.0-dev.2546 2024-12-21 20:51:51 +01:00
6e65fa623a
feat: prevent some more json encode/decode errors and clean-up error sets 2024-09-19 20:58:39 +02:00
858dcf09e0
refactor: clean-up some clang-tidy warnings 2024-08-27 19:27:22 +02:00
3ace316308 feat: add support for floats to cbor 2024-06-25 21:04:51 +02:00
1d116f8fa8 windows build fixes 2024-06-07 11:42:54 +02:00
3b80a36537 build: fix build on macos 2024-02-28 21:01:11 +01:00
5a00e06cb9 Initial Release 2024-02-08 23:04:55 +01:00