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
12 lines
498 B
Zig
12 lines
498 B
Zig
const std = @import("std");
|
|
pub const cpp = @import("tests_cpp.zig");
|
|
pub const thespian = @import("tests_thespian.zig");
|
|
pub const ip_tcp_client_server = @import("ip_tcp_client_server.zig");
|
|
pub const remote_poc = @import("remote_poc_test.zig");
|
|
pub const remote_roundtrip = @import("remote_roundtrip_test.zig");
|
|
pub const remote_endpoint = @import("remote_endpoint_test.zig");
|
|
pub const remote_endpoint_id = @import("remote_endpoint_id_test.zig");
|
|
|
|
test {
|
|
std.testing.refAllDecls(@This());
|
|
}
|