// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CAST_STREAMING_IMPL_STATISTICS_COLLECTOR_H_ #define CAST_STREAMING_IMPL_STATISTICS_COLLECTOR_H_ #include <vector> #include "cast/streaming/impl/statistics_defines.h" #include "platform/api/time.h" #include "platform/base/span.h" namespace openscreen::cast { // This POD struct contains helpful information about a given packet that is // not stored directly on the packet itself. struct PacketMetadata { … }; // This class is responsible for gathering packet and frame statistics using its // Collect*() methods, that can then be taken by consumers using the Take*() // methods. class StatisticsCollector { … }; } // namespace openscreen::cast #endif // CAST_STREAMING_IMPL_STATISTICS_COLLECTOR_H_