From aec2ddd31e19dd518ccec05df111d140b302867a Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Sat, 10 Jul 2021 09:28:01 +0200 Subject: [PATCH] AsyncUDP inherit from Stream AsyncUDPPacket inherits now from Stream instead of Print to make it compatible with the ESP32 version --- src/AsyncUDP.cpp | 35 +++++++++++++++++++++++++++++++++++ src/ESPAsyncUDP.h | 9 ++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/AsyncUDP.cpp b/src/AsyncUDP.cpp index cedfd41..8cb1cb1 100644 --- a/src/AsyncUDP.cpp +++ b/src/AsyncUDP.cpp @@ -78,6 +78,7 @@ AsyncUDPPacket::AsyncUDPPacket(AsyncUDP *udp, ip_addr_t *localIp, uint16_t local _remotePort = remotePort; _data = data; _len = len; + _index = 0; } AsyncUDPPacket::~AsyncUDPPacket() @@ -95,6 +96,40 @@ size_t AsyncUDPPacket::length() return _len; } +int AsyncUDPPacket::available(){ + return _len - _index; +} + +int AsyncUDPPacket::read(uint8_t *data, size_t len){ + size_t i; + size_t a = _len - _index; + if(len > a){ + len = a; + } + for(i=0;iaddr); diff --git a/src/ESPAsyncUDP.h b/src/ESPAsyncUDP.h index 8e5a70b..16d3c7f 100644 --- a/src/ESPAsyncUDP.h +++ b/src/ESPAsyncUDP.h @@ -40,7 +40,7 @@ class AsyncUDPMessage : public Print } }; -class AsyncUDPPacket : public Print +class AsyncUDPPacket : public Stream { protected: AsyncUDP *_udp; @@ -50,6 +50,7 @@ class AsyncUDPPacket : public Print uint16_t _remotePort; uint8_t *_data; size_t _len; + size_t _index; public: AsyncUDPPacket(AsyncUDP *udp, ip_addr_t *localIp, uint16_t localPort, ip_addr_t *remoteIp, uint16_t remotePort, uint8_t *data, size_t len); virtual ~AsyncUDPPacket(); @@ -66,6 +67,12 @@ class AsyncUDPPacket : public Print size_t send(AsyncUDPMessage &message); + int available(); + int read(uint8_t *data, size_t len); + int read(); + int peek(); + void flush(); + size_t write(const uint8_t *data, size_t len); size_t write(uint8_t data); };