Evgeny
a7ecee01f5
etcp: replace connections linked-list with indexed ll_queue, add state/ref_count lifecycle
- Remove ETCP_CONN.next linked-list, UTUN_INSTANCE.connections list/count
- Unified connections in single ll_queue indexed by peer_node_id (0=pending)
- struct conn_queue_entry { peer_node_id, conn* } for uniform queue data
- Connection lifecycle via etcp.c: create→pending, conn_ready→indexed, close→detach+deferred free
- Close split: phase1 detach from external world, phase2 deferred via uasync_call_soon
- etcp_conn_set_peer_node_id: reindex on ID change (WARN)
- etcp_conn_ref_take/free: blocking close until refcount returns to 0
- Remove chat_connections — use unified connections queue directly
- Update all iteration/search patterns across 40 files (src + tests + chatgui)
2026-07-15 19:56:47 +03:00
..
2026-07-15 19:56:47 +03:00
2026-06-17 21:28:07 +03:00
2026-05-29 01:11:37 +03:00
2026-04-21 19:06:45 +03:00
2026-01-25 10:47:02 +03:00
2026-01-21 18:18:32 +03:00
2026-01-25 10:47:02 +03:00
2026-07-06 11:42:13 +03:00
2026-01-21 18:18:32 +03:00
2026-01-28 19:56:38 +03:00
2026-02-15 13:25:05 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-06-17 21:28:07 +03:00
2026-07-15 19:56:47 +03:00
2026-01-26 18:14:04 +03:00
2026-07-15 19:56:47 +03:00
2026-02-02 10:57:36 +03:00
2026-05-12 13:42:16 +03:00
2026-01-26 18:14:04 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-06-03 02:06:09 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-05-10 19:03:42 +03:00
2026-07-15 19:56:47 +03:00
2026-03-06 01:36:57 +03:00
2026-01-26 17:52:50 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-09 19:50:17 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-06-18 22:11:25 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-06-09 22:20:25 +03:00
2026-07-15 19:56:47 +03:00
2026-06-09 22:20:25 +03:00
2026-07-13 15:38:08 +03:00
2026-07-14 09:07:03 +03:00
2026-06-02 21:05:06 +03:00
2026-07-15 19:56:47 +03:00
2026-05-10 00:49:46 +03:00
2026-05-10 00:49:46 +03:00
2026-07-15 19:56:47 +03:00
2026-03-06 01:36:57 +03:00
2026-01-26 18:25:48 +03:00
2026-07-15 19:56:47 +03:00
2026-06-09 22:20:25 +03:00
2026-05-10 00:34:28 +03:00
2026-07-09 17:01:56 +03:00
2026-07-09 18:08:49 +03:00
2026-07-15 19:56:47 +03:00
2026-04-14 02:03:59 +03:00
2026-07-15 19:56:47 +03:00
2026-06-18 22:11:25 +03:00
2026-07-15 19:56:47 +03:00
2026-06-14 10:00:02 +03:00
2026-06-14 10:00:02 +03:00
2026-06-22 15:53:24 +03:00
2026-01-21 18:18:32 +03:00
2026-07-05 20:57:44 +03:00
2026-07-01 20:33:11 +03:00
2026-07-15 19:56:47 +03:00
2026-07-05 20:57:44 +03:00
2026-06-03 16:24:46 +03:00
2026-04-26 00:17:32 +03:00
2026-05-13 12:38:20 +03:00
2026-07-05 20:57:44 +03:00
2026-07-15 19:56:47 +03:00
2026-02-15 04:24:46 +03:00
2026-01-28 19:56:38 +03:00
2026-01-26 17:52:50 +03:00