MCPcopy Create free account
hub / github.com/catboost/catboost / ForgetHeadUdpPackets

Method ForgetHeadUdpPackets

library/cpp/netliba/v12/udp_socket.cpp:449–469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

447 }
448
449 void TUdpSocket::ForgetHeadUdpPackets(const size_t numPackets) {
450 // necessary for TCircularPodBuffer::EraseBefore
451 if (numPackets == 0) {
452 return;
453 }
454 UdpPacketsAddresses.EraseHead(numPackets);
455 UdpPacketsAuxData.EraseHead(numPackets * CTRL_BUFFER_SIZE);
456 UdpPacketsHeadersBegin += size_t(numPackets);
457
458 // necessary for TCircularPodBuffer::EraseBefore
459 if (UdpPacketsHeadersBegin == UdpPacketsHeaders.size()) {
460 PacketsDataBuffer.Clear();
461 PacketsIoVecs.Clear();
462 LastUdpPacketSize = 0;
463 } else {
464 Y_ASSERT(UdpPacketsHeaders[UdpPacketsHeadersBegin].msg_hdr.msg_iovlen);
465 const TIoVec* iov = UdpPacketsHeaders[UdpPacketsHeadersBegin].msg_hdr.msg_iov;
466 PacketsDataBuffer.EraseBefore((const char*)iov->iov_base);
467 PacketsIoVecs.CleanupBefore(iov);
468 }
469 }
470
471 struct TPacketsCountAdder {
472 size_t operator()(const size_t base, const TMMsgHdr& next) const {

Callers

nothing calls this directly

Calls 5

EraseHeadMethod · 0.80
EraseBeforeMethod · 0.80
CleanupBeforeMethod · 0.80
sizeMethod · 0.45
ClearMethod · 0.45

Tested by

no test coverage detected