diff --git a/src_io_utils/pistreampacker.cpp b/src_io_utils/pistreampacker.cpp index 31f3edac..cea43749 100644 --- a/src_io_utils/pistreampacker.cpp +++ b/src_io_utils/pistreampacker.cpp @@ -95,7 +95,10 @@ void PIStreamPacker::received(const PIByteArray & data) { if (packet.size_s() == packet_size) { PIByteArray cd = decryptData(packet); //piCout << "decrypt" << packet.size() << "->" << cd.size() << key().size(); - if (!cd.isEmpty()) packetReceiveEvent(cd); + if (!cd.isEmpty()) { + packetReceived(cd); + packetReceiveEvent(cd); + } packet.clear(); packet_size = -1; } diff --git a/src_main/io_utils/pistreampacker.h b/src_main/io_utils/pistreampacker.h index 0ef8aae1..4fafaed6 100644 --- a/src_main/io_utils/pistreampacker.h +++ b/src_main/io_utils/pistreampacker.h @@ -86,6 +86,11 @@ public: //! \} +protected: + + //! Packet successfully received, by default does nothing + virtual void packetReceived(PIByteArray data) {} + private: PIByteArray stream, packet; int packet_size;