Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-22 14:04:28 +01:00
parent 81b91f4139
commit f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions

View file

@ -0,0 +1,23 @@
/*
* Copyright 2019 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.
*/
#include "api/transport/test/create_feedback_generator.h"
#include <memory>
#include "test/network/feedback_generator.h"
namespace webrtc {
std::unique_ptr<FeedbackGenerator> CreateFeedbackGenerator(
FeedbackGenerator::Config confg) {
return std::make_unique<FeedbackGeneratorImpl>(confg);
}
} // namespace webrtc

View file

@ -0,0 +1,21 @@
/*
* Copyright 2019 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 API_TRANSPORT_TEST_CREATE_FEEDBACK_GENERATOR_H_
#define API_TRANSPORT_TEST_CREATE_FEEDBACK_GENERATOR_H_
#include <memory>
#include "api/transport/test/feedback_generator_interface.h"
namespace webrtc {
std::unique_ptr<FeedbackGenerator> CreateFeedbackGenerator(
FeedbackGenerator::Config confg);
} // namespace webrtc
#endif // API_TRANSPORT_TEST_CREATE_FEEDBACK_GENERATOR_H_

View file

@ -0,0 +1,37 @@
/*
* Copyright 2019 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 API_TRANSPORT_TEST_FEEDBACK_GENERATOR_INTERFACE_H_
#define API_TRANSPORT_TEST_FEEDBACK_GENERATOR_INTERFACE_H_
#include <vector>
#include "api/test/simulated_network.h"
#include "api/transport/network_types.h"
namespace webrtc {
class FeedbackGenerator {
public:
struct Config {
BuiltInNetworkBehaviorConfig send_link;
BuiltInNetworkBehaviorConfig return_link;
TimeDelta feedback_interval = TimeDelta::Millis(50);
DataSize feedback_packet_size = DataSize::Bytes(20);
};
virtual ~FeedbackGenerator() = default;
virtual Timestamp Now() = 0;
virtual void Sleep(TimeDelta duration) = 0;
virtual void SendPacket(size_t size) = 0;
virtual std::vector<TransportPacketsFeedback> PopFeedback() = 0;
virtual void SetSendConfig(BuiltInNetworkBehaviorConfig config) = 0;
virtual void SetReturnConfig(BuiltInNetworkBehaviorConfig config) = 0;
virtual void SetSendLinkCapacity(DataRate capacity) = 0;
};
} // namespace webrtc
#endif // API_TRANSPORT_TEST_FEEDBACK_GENERATOR_INTERFACE_H_

View file

@ -0,0 +1,84 @@
/*
* Copyright (c) 2019 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 API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_
#define API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_
#include "api/transport/network_control.h"
#include "test/gmock.h"
namespace webrtc {
class MockNetworkControllerInterface : public NetworkControllerInterface {
public:
MOCK_METHOD(NetworkControlUpdate,
OnNetworkAvailability,
(NetworkAvailability),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnProcessInterval,
(ProcessInterval),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnNetworkRouteChange,
(NetworkRouteChange),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnRemoteBitrateReport,
(RemoteBitrateReport),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnRoundTripTimeUpdate,
(RoundTripTimeUpdate),
(override));
MOCK_METHOD(NetworkControlUpdate, OnSentPacket, (SentPacket), (override));
MOCK_METHOD(NetworkControlUpdate,
OnReceivedPacket,
(ReceivedPacket),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnStreamsConfig,
(StreamsConfig),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnTargetRateConstraints,
(TargetRateConstraints),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnTransportLossReport,
(TransportLossReport),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnTransportPacketsFeedback,
(TransportPacketsFeedback),
(override));
MOCK_METHOD(NetworkControlUpdate,
OnNetworkStateEstimate,
(NetworkStateEstimate),
(override));
};
class MockNetworkStateEstimator : public NetworkStateEstimator {
public:
MOCK_METHOD(absl::optional<NetworkStateEstimate>,
GetCurrentEstimate,
(),
(override));
MOCK_METHOD(void,
OnTransportPacketsFeedback,
(const TransportPacketsFeedback&),
(override));
MOCK_METHOD(void, OnReceivedPacket, (const PacketResult&), (override));
MOCK_METHOD(void, OnRouteChange, (const NetworkRouteChange&), (override));
};
} // namespace webrtc
#endif // API_TRANSPORT_TEST_MOCK_NETWORK_CONTROL_H_