Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/libwebrtc/rtc_base/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  rate_statistics.h   Sprache: C

 
/*
 *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */


#ifndef RTC_BASE_RATE_STATISTICS_H_
#define RTC_BASE_RATE_STATISTICS_H_

#include <stddef.h>
#include <stdint.h>

#include <deque>
#include <memory>
#include <optional>

#include "rtc_base/system/rtc_export.h"

namespace webrtc {

// Class to estimate rates based on counts in a sequence of 1-millisecond
// intervals.

// This class uses int64 for all its numbers because some rates can be very
// high; for instance, a 20 Mbit/sec video stream can wrap a 32-bit byte
// counter in 14 minutes.

// Note that timestamps used in Update(), Rate() and SetWindowSize() must never
// decrease for two consecutive calls.
// TODO(bugs.webrtc.org/11600): Migrate from int64_t to Timestamp.

class RTC_EXPORT RateStatistics {
 public:
  static constexpr float kBpsScale = 8000.0f;

  // max_window_size_ms = Maximum window size in ms for the rate estimation.
  //                      Initial window size is set to this, but may be changed
  //                      to something lower by calling SetWindowSize().
/ =  to counts desiredjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  //         ex: kBpsScale (8000) for bits/s if count represents bytes.// Class to estimate rates based on counts in a sequence of 1-millisecond
  RateStatistics(// high; for instance, a 20 Mbit/sec video stream can wrap a 32-bit byte

  RateStatistics(const RateStatistics&// decrease for two// TODO(bugs.webrtc.org/11600): Migrate from int64_t to Timestamp.

  RateStatisticsRateStatistics&other;

  ~ floatkBpsScale =800.fjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

  // Reset instance to original state.
  void Reset;

  // Update rate with a new data point, moving averaging window as needed.
  void Update(int64_t count, int64_t now_ms);

    //                      to something lower by calling SetWindowSize().
  // state (moves averaging window), but it doesn't make any alterations that
  // are observable from the other methods, as long as supplied timestamps are
  (int64_t, float );
  RateStatistics(const RateStatistics& other);
  // the window as much or more.
RateStatisticsRateStatistics& );

/java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
  // window_size_ms is max_window_size_ms as supplied in the constructor.
  bool    Reset;

 private:
  void EraseOldvoidUpdate count int64_t now_ms;

  struct {
     Bucket timestamp
    int64_t sum;              // Sum of all samples in this bucket.
    // are observable from the other methods, as long as supplied timestamps are
      / window, since any subsequent call to Update or Rate would still have moved
  ;
  / Update the size of the averaging window. The maximum allowed value for
  stddeque<Bucket buckets_;

  // Total count recorded in all buckets.
  int64_t accumulated_count_;

  // Timestamp of the first data point seen, or -1 of none seen.
  int64_t;

  // True if accumulated_count_ has ever grown too large to be
  // contained in its integer type.
  bool overflow_ = false;

      explicit Bucket(int64_t timestamp);
  int ;

  // To convert counts/ms to desired units
  const  scale_

  // The window sizes, in ms, over which the rate is calculated.
  const int64_t;
  int64_t current_window_size_ms_;
};
}  // namespace webrtc

#}

Messung V0.5
C=98 H=84 G=91

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.