From 98f48e3e05ad158c7507550a2ce79cfff8c1f189 Mon Sep 17 00:00:00 2001 From: Maxim Sharabayko <maxlovic@gmail.com> Date: Fri, 19 Apr 2024 14:59:01 +0200 Subject: [PATCH] [core] Fixed stats counting packets dropped by a group. --- srtcore/group.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/srtcore/group.cpp b/srtcore/group.cpp index 1539245a0..221e61911 100644 --- a/srtcore/group.cpp +++ b/srtcore/group.cpp @@ -2309,6 +2309,15 @@ int CUDTGroup::recv(char* buf, int len, SRT_MSGCTRL& w_mc) } fillGroupData((w_mc), w_mc); + const int32_t iNumDropped = (CSeqNo(w_mc.pktseq) - CSeqNo(m_RcvBaseSeqNo)) - 1; + if (iNumDropped > 0) + { + m_stats.recvDrop.count(stats::BytesPackets(iNumDropped * static_cast<uint64_t>(avgRcvPacketSize()), iNumDropped)); + LOGC(grlog.Warn, + log << "@" << m_GroupID << " GROUP RCV-DROPPED " << iNumDropped << " packet(s): seqno %" + << m_RcvBaseSeqNo << " to %" << w_mc.pktseq); + } + HLOGC(grlog.Debug, log << "grp/recv: $" << id() << ": Update m_RcvBaseSeqNo: %" << m_RcvBaseSeqNo << " -> %" << w_mc.pktseq); m_RcvBaseSeqNo = w_mc.pktseq;