Skip to content

Refactor `ProtoClient` into a transport-agnostic base class and introduce TCP...

Dmytro Nikolaiev requested to merge feature/udp-client into development

Refactor ProtoClient into a transport-agnostic base class and introduce TCP and Reliable-UDP implementations

  • Refactor ProtoClient into an abstract base class handling common protobuf framing, varint header decoding, and receive-buffer management.
  • Introduce ProtoTCPClient to encapsulate legacy NIO selector-based TCP transport logic.
  • Introduce ProtoUDPClient providing a reliable-UDP transport implementation with handshake (SYN/ACK), retransmission, and cumulative acknowledgment support, matching ESP8266 firmware behavior.
  • Standardize the ProtocolDispatcher interface and lifecycle callbacks (fireOnConnected, fireOnError, etc.) across transport types.
  • Update ProtoClientDynamicReceiveBufferSizeMax to extend ProtoTCPClient to maintain legacy compatibility.
  • Relocate and optimize utility methods for hex conversion and stack trace formatting within the base class.

Merge request reports

Loading