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

Function AddAcksToPacketQueue

library/cpp/netliba/v12/udp_host_protocol.h:761–773  ·  view source on GitHub ↗

by passing xfer we reduce number of hash map finds.

Source from the content-addressed store, hash-verified

759
760 // by passing xfer we reduce number of hash map finds.
761 inline void AddAcksToPacketQueue(TUdpSocket& s, char* packetBuffer, const size_t packetBufferSize,
762 TConnection* connection, const ui64 transferId, TUdpInTransfer* xfer) {
763 char* pktData = packetBuffer;
764 WriteAcksHeader(&pktData, ACK, connection, transferId);
765
766 const size_t acks = WriteAck(xfer, (int*)pktData, (size_t)(packetBufferSize - (pktData - packetBuffer)) / SIZEOF_ACK);
767 pktData += acks * SIZEOF_ACK;
768
769 const size_t ackPacketSize = connection->GetSmallMtuUseXs() ? UDP_XSMALL_PACKET_SIZE : UDP_SMALL_PACKET_SIZE;
770
771 s.AddPacketToQueue(pktData - packetBuffer, {connection->GetWinsockAddress(), connection->GetWinsockMyAddress()},
772 xfer->AckTos, ackPacketSize);
773 }
774
775 inline bool ReadAndSetAcks(const char* pktData, const char* pktEnd, const float deltaT, TAckTracker* ackTracker) {
776 return ReadAcks((const int*)pktData, (pktEnd - pktData) / SIZEOF_ACK, deltaT, ackTracker);

Callers 1

SendAckForConnectionMethod · 0.85

Calls 4

WriteAcksHeaderFunction · 0.85
AddPacketToQueueMethod · 0.80
WriteAckFunction · 0.70
GetSmallMtuUseXsMethod · 0.45

Tested by

no test coverage detected