Commit Graph
8 Commits
Author SHA1 Message Date
jek ec49b12a19 Refactor u_async into shared module: move sources to u_async/, update Makefiles, remove duplicates 2026-01-15 17:54:49 +03:00
jek f2c10dcbf9 Reorganize project structure: move sources to src/, update Makefile, add header symlinks 2026-01-15 17:13:15 +03:00
jek 9eab53179d Refactor uasync to instance-based API with memory leak detection 2026-01-15 16:52:16 +03:00
jek 70b8caadbf Add utun VPN implementation and enhance async infrastructure
- Add utun VPN daemon with config parsing, control socket, routing, and TUN interface
- Refactor net_emulator/u_async to support multiple independent instances
- Replace linked-list timeout management with heap-based implementation
- Fix timeout processing bug (process timeouts after select)
- Add comprehensive random timeout and instance isolation tests
- Update Makefile to build utun and new test targets
2026-01-15 12:16:39 +04:00
jek e800087941 Add packet normalizer fragmentation fix, service packets, and ETCP reset functionality
- Fix fragmentation algorithm violation: split last fragment into FE+regular blocks
- Add service packet support (headers 0xFC/0xFD) for control messages up to 256 bytes
- Add ETCP reset service packets (0x02/0x03) with 100ms retry and 10 attempt limit
- Add conn_reset() function for coordinated reset across connection components
- Add comprehensive test suite for all new features
- Update Makefile to build new test
2026-01-14 19:53:51 +04:00
jek d57ab133c5 Add async queue wait functionality and enhance packet normalizer tests
- Implement queue_wait_threshold() with automatic waiter checking in ll_queue
- Add pkt_normalizer_flush() to force buffer sending
- Enhance test suite with async wait tests, fragmentation verification, and buffer flush tests
- Fix test edge cases by flushing packer buffer between subtests
- Improve test reliability with increased iteration limits and while loop processing
- Add connection module for secure UDP communication with ECC/AES-CCM cryptography
2026-01-14 15:39:41 +04:00
jek 76c7c56de6 Add ETCP protocol implementation with window management and tests
- Implement Extended Transmission Control Protocol (etcp.c/h) for reliable
  UDP transmission with packet ordering and loss recovery
- Add window management (congestion control) with dynamic window sizing
  based on RTT and bandwidth
- Implement ACK handling, retransmission logic, and gap detection
- Add comprehensive test suite: unit tests, simple test, and stress test
  with network emulation (packet loss, reordering, delay)
- Include mock u_async implementation for testing
- Update Makefile with new ETCP build targets
2026-01-13 16:49:20 +04:00
jek aa97731e4b Refactor tests and improve packet normalizer
- Move all test files to tests/ directory
- Update Makefile to build tests in tests/ directory
- Add fragment reassembly timeout mechanism (500ms default)
- Add error count API (pkt_normalizer_get_error_count, pkt_normalizer_reset_error_count)
- Enhance error handling with timeout callbacks
- Add comprehensive stress tests and edge case tests
- Update .gitignore for build artifacts
2026-01-13 02:09:38 +04:00