Commit Graph
4812 Commits
Author SHA1 Message Date
Evgeny e3c94a4004 Исправление pacing механизма в stress-тесте
- Добавлен API для доступа к очередям подключения: conn_get_output_queue() и conn_get_input_queue()
- Отладка race condition в queue_wait_threshold: callback вызывается немедленно при пустой очереди
- Добавлена обработка случая, когда waiter не регистрируется из-за уже выполненного условия
- Устранена ложная ошибка 'Failed to register queue waiter'
- Добавлена очистка pacing_waiter в callback для избежания висячих указателей
- Pacing теперь работает корректно: пакеты отправляются по одному с ожиданием опустошения очереди
2026-01-16 14:36:08 +03:00
Evgeny 8d8fc4be6e Update secure channel library API with CRC32 integration
- Add CRC32 checksum support using IEEE 802.3 polynomial
- Update sc_encrypt/sc_decrypt API: combine tag and CRC32 into single buffer
- Add SC_CRC32_SIZE, SC_MAX_OVERHEAD constants and SC_ERR_CRC_FAILED error code
- Implement CRC32 calculation before encryption and verification after decryption
- Update connection.c to use new API with error statistics tracking
- Modify test files for compatibility with new API
- All tests pass successfully
2026-01-15 23:13:08 +03:00
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 1bf562ca91 Update .gitignore to exclude binaries and backup files 2026-01-15 12:18:52 +04: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 7e3a339f38 Fix stress test: move reset_test_data() outside loop
- Move reset_test_data() and error count resets outside the main loop
- This prevents sent_count from being reset each iteration
- The test was incorrectly resetting counters for each packet, causing sent_count to always be 1
2026-01-14 15:55:58 +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