Refactor `ProtoClient` into a transport-agnostic base class and introduce TCP...
Refactor ProtoClient into a transport-agnostic base class and introduce TCP and Reliable-UDP implementations
- Refactor
ProtoClientinto an abstract base class handling common protobuf framing, varint header decoding, and receive-buffer management. - Introduce
ProtoTCPClientto encapsulate legacy NIO selector-based TCP transport logic. - Introduce
ProtoUDPClientproviding a reliable-UDP transport implementation with handshake (SYN/ACK), retransmission, and cumulative acknowledgment support, matching ESP8266 firmware behavior. - Standardize the
ProtocolDispatcherinterface and lifecycle callbacks (fireOnConnected,fireOnError, etc.) across transport types. - Update
ProtoClientDynamicReceiveBufferSizeMaxto extendProtoTCPClientto maintain legacy compatibility. - Relocate and optimize utility methods for hex conversion and stack trace formatting within the base class.