Skip to content

New line#6

Open
KhanKhad wants to merge 46 commits into
tmteam:masterfrom
KhanKhad:newLine
Open

New line#6
KhanKhad wants to merge 46 commits into
tmteam:masterfrom
KhanKhad:newLine

Conversation

@KhanKhad

Copy link
Copy Markdown

tasks for TheNetTunnel

- пофиксил неймспейсы у тестов

Текущий коммит собирается, но тесты не проходит
 I tried to use the same approach, but I
won't make the same mistake again.
- git ignore update
- new dispatcher
- new ContractBuilder
Func<int, bool> Func { get; set; }
Func<int, Task> FuncTask { get; set; }
Func<int, Task<bool>> FuncTaskResult { get; set; }
small refactoring
KhanKhad added 16 commits April 22, 2026 13:15
- rewrite message sending - awoiding memory allocations
- rewrite Tools — drop Marshal/GCHandle/Unsafe, prefer BinaryPrimitives
- rewrite ReceivePduQueue — Span + PooledMemoryStream
- performance tests
… dispose

  - send loop with FIFO queue; handshake rejection reason is flushed before disconnect
  - receive loop signals disconnect on remote close/socket error (no ping-wait, no hot spin)
  - fixed server-side self-deadlock on disconnect (async connection dispose)
  - ping now verifies pong responses, drops dead connections
  - call timeouts via Task.WaitAsync (no leaked 30s timers)
  - ReceiveDispatcher.Dispose drains queue and cancels pending awaiters
  - fixed _workCts race in Interlocutor
  - +71 tests: framing, PooledMemoryStream, wire protocol edge cases, handshake, timeouts, lifecycle
- defer server pinging until first incoming message to avoid racing the handshake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant