|
40 | 40 | posix/ # L1: UDS SEQPACKET, POSIX SHM |
41 | 41 | windows/ # L1: Named Pipe, Windows SHM |
42 | 42 | service/ # L2/L3: typed client/server helpers |
| 43 | + netipc_service.c # POSIX platform fault/memory/timing helpers |
| 44 | + netipc_service_posix_client.c # POSIX public client API/config |
| 45 | + netipc_service_posix_client_connect.c # POSIX client connect/reconnect |
| 46 | + netipc_service_posix_client_call.c # POSIX client raw-call flow |
| 47 | + netipc_service_posix_server.c # POSIX server lifecycle/accept |
| 48 | + netipc_service_posix_server_session.c # POSIX server session loop |
| 49 | + netipc_service_win.c # Windows platform helpers |
| 50 | + netipc_service_win_client*.c # Windows client API/connect/call |
| 51 | + netipc_service_win_server*.c # Windows server lifecycle/session |
43 | 52 |
|
44 | 53 | crates/netipc/ # Rust library (Cargo crate) |
45 | 54 | src/ |
46 | 55 | protocol/ # Codec |
47 | 56 | mod.rs # Core wire primitives and codec re-exports |
| 57 | + increment.rs # increment codec |
| 58 | + string_reverse.rs # string-reverse codec |
| 59 | + cgroups_snapshot.rs # cgroups-snapshot codec |
48 | 60 | lookup/ # Lookup codec family |
49 | 61 | common.rs # Shared lookup helpers |
50 | 62 | cgroups_lookup.rs # cgroups lookup codec |
|
53 | 65 | posix.rs # L1: UDS, SHM |
54 | 66 | windows.rs # L1: Named Pipe, SHM |
55 | 67 | service/ # L2/L3: typed client/server helpers |
| 68 | + cgroups_snapshot.rs # cgroups-snapshot public typed facade |
| 69 | + cgroups_lookup.rs # cgroups-lookup public typed facade |
| 70 | + apps_lookup.rs # apps-lookup public typed facade |
| 71 | + cgroups.rs # compatibility re-exports for historical imports |
56 | 72 | raw.rs # Internal raw helper wrapper/re-exports |
57 | 73 | raw/ # Shared raw infrastructure plus per-method helpers |
58 | | - client.rs # Shared raw client lifecycle, retry, send/receive |
59 | | - server.rs # Shared managed-server lifecycle |
| 74 | + client.rs # Raw client state and public lifecycle |
| 75 | + client_call.rs # Shared retry/envelope/send-receive flow |
| 76 | + client_unix.rs # POSIX connect and SHM attach |
| 77 | + client_windows.rs # Windows connect and SHM attach |
| 78 | + server.rs # Managed-server state and public lifecycle |
| 79 | + server_unix.rs # POSIX accept and prepared-SHM setup |
| 80 | + server_windows.rs # Windows accept and prepared-SHM setup |
60 | 81 | cgroups_snapshot.rs # cgroups-snapshot raw call/dispatch |
61 | 82 | cgroups_lookup.rs # cgroups-lookup raw call/dispatch |
62 | 83 | apps_lookup.rs # apps-lookup raw call/dispatch |
|
65 | 86 | go/pkg/netipc/ # Go library (Go package) |
66 | 87 | protocol/ # Codec |
67 | 88 | frame.go # Core wire primitives |
| 89 | + increment.go # increment codec |
| 90 | + string_reverse.go # string-reverse codec |
| 91 | + cgroups_snapshot.go # cgroups-snapshot codec |
68 | 92 | lookup_common.go # Shared lookup helpers |
69 | 93 | cgroups_lookup.go # cgroups lookup codec |
70 | 94 | apps_lookup.go # apps lookup codec |
71 | 95 | transport/ |
72 | 96 | posix/ # L1: UDS, SHM |
73 | 97 | windows/ # L1: Named Pipe, SHM |
74 | 98 | service/ # L2/L3: typed client/server helpers |
| 99 | + cgroups_snapshot/ # cgroups-snapshot public typed facade |
| 100 | + cgroups_lookup/ # cgroups-lookup public typed facade |
| 101 | + apps_lookup/ # apps-lookup public typed facade |
| 102 | + cgroups/ # compatibility aliases for historical imports |
| 103 | + raw/ # Internal raw helper infrastructure |
| 104 | + client.go # shared raw client retry/envelope flow |
| 105 | + client_unix.go # POSIX client connect/send/receive |
| 106 | + client_windows.go # Windows client connect/send/receive |
| 107 | + server.go # shared server dispatch helpers |
| 108 | + server_unix.go # POSIX server accept/session loop |
| 109 | + server_windows.go # Windows server accept/session loop |
| 110 | + *_unix.go # per-method POSIX constructors |
| 111 | + *_windows.go # per-method Windows constructors |
| 112 | + cgroups_cache*.go # cgroups-snapshot Level 3 cache |
75 | 113 |
|
76 | 114 | tests/ |
77 | 115 | fixtures/ # Helper binaries for live testing |
@@ -170,6 +208,14 @@ aliases, dispatch adapters, and Level 3 cache logic for one service |
170 | 208 | kind must live in service-kind-specific files so adding new service |
171 | 209 | kinds does not expand a shared catch-all module. |
172 | 210 |
|
| 211 | +When shared raw/helper files grow beyond one responsibility, split by |
| 212 | +goal before adding a new service kind. Keep platform fault/memory helpers, |
| 213 | +public client API/config mapping, client connect/reconnect, raw call |
| 214 | +send/receive/retry flow, server lifecycle/accept, and server session loops |
| 215 | +in separate files where the language layout supports it. POSIX and Windows |
| 216 | +implementations should remain explicit files when their wait, SHM, close, |
| 217 | +or wake-up behavior differs. |
| 218 | + |
173 | 219 | Service modules must NOT contain: |
174 | 220 |
|
175 | 221 | - Transport implementation details (no direct socket/pipe/SHM code) |
|
0 commit comments