36 uint64_t offset,
bool eomTracked) noexcept = 0;
void addFirstBodyByteEvent(uint64_t offset, HTTPTransaction *txn)
virtual void addAckByteEvent(uint64_t, HTTPTransaction *)
virtual uint64_t preSend(bool *, bool *, uint64_t)
ByteEventTracker(Callback *callback)
virtual void setTTLBAStats(TTLBAStats *)
virtual void addLastByteEvent(HTTPTransaction *txn, uint64_t byteNo) noexcept
requires E e noexcept(noexcept(s.error(std::move(e))))
void addPingByteEvent(size_t pingSize, TimePoint timestamp, uint64_t bytesScheduled)
virtual ~ByteEventTracker()
virtual void onLastByteEvent(HTTPTransaction *txn, uint64_t offset, bool eomTracked) noexcept=0
virtual void onDeleteAckEvent() noexcept=0
virtual bool processByteEvents(std::shared_ptr< ByteEventTracker > self, uint64_t bytesWritten)
virtual void onPingReplyLatency(int64_t latency) noexcept=0
void setCallback(Callback *callback)
virtual void eomEventProcessed()
SteadyClock::time_point TimePoint
boost::intrusive::list< T, boost::intrusive::member_hook< T, IntrusiveListHook, PtrToMember >, boost::intrusive::constant_time_size< false >> IntrusiveList
virtual void addFirstHeaderByteEvent(uint64_t offset, HTTPTransaction *txn)
virtual void absorb(ByteEventTracker &&other)
virtual size_t drainByteEvents()
virtual void addTrackedByteEvent(HTTPTransaction *txn, uint64_t byteNo) noexcept
folly::IntrusiveList< ByteEvent,&ByteEvent::listHook > byteEvents_