LCOV - code coverage report
Current view: top level - source/common/quic - send_buffer_monitor.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 0 10 0.0 %
Date: 2024-01-05 06:35:25 Functions: 0 2 0.0 %

          Line data    Source code
       1             : #include "source/common/quic/send_buffer_monitor.h"
       2             : 
       3             : #include "source/common/common/assert.h"
       4             : 
       5             : namespace Envoy {
       6             : namespace Quic {
       7             : 
       8             : SendBufferMonitor::ScopedWatermarkBufferUpdater::ScopedWatermarkBufferUpdater(
       9             :     quic::QuicStream* quic_stream, SendBufferMonitor* send_buffer_monitor)
      10             :     : quic_stream_(quic_stream), old_buffered_bytes_(quic_stream_->BufferedDataBytes()),
      11           0 :       send_buffer_monitor_(send_buffer_monitor) {
      12           0 :   ASSERT(!send_buffer_monitor_->is_doing_watermark_accounting_);
      13           0 :   send_buffer_monitor_->is_doing_watermark_accounting_ = true;
      14           0 : }
      15             : 
      16           0 : SendBufferMonitor::ScopedWatermarkBufferUpdater::~ScopedWatermarkBufferUpdater() {
      17             :   // If quic_stream_ is done writing, regards all buffered bytes, if there is any, as drained.
      18           0 :   uint64_t new_buffered_bytes =
      19           0 :       quic_stream_->write_side_closed() ? 0u : quic_stream_->BufferedDataBytes();
      20           0 :   send_buffer_monitor_->is_doing_watermark_accounting_ = false;
      21           0 :   send_buffer_monitor_->updateBytesBuffered(old_buffered_bytes_, new_buffered_bytes);
      22           0 : }
      23             : 
      24             : } // namespace Quic
      25             : } // namespace Envoy

Generated by: LCOV version 1.15