#include "services/network/throttling/throttling_p2p_network_interceptor.h"
#include <vector>
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/time/time.h"
#include "services/network/p2p/socket_udp.h"
#include "services/network/public/cpp/p2p_socket_type.h"
#include "services/network/throttling/network_conditions.h"
#include "third_party/webrtc/api/units/data_rate.h"
#include "third_party/webrtc/rtc_base/time_utils.h"
namespace {
constexpr int kBitsPerByte = …;
}
namespace network {
ThrottlingP2PNetworkInterceptor::StoredSendPacket::StoredSendPacket(
raw_ptr<P2PSocketUdp> socket,
P2PPendingPacket packet)
: … { … }
ThrottlingP2PNetworkInterceptor::StoredSendPacket::~StoredSendPacket() =
default;
ThrottlingP2PNetworkInterceptor::StoredReceivePacket::StoredReceivePacket(
raw_ptr<P2PSocketUdp> socket,
mojom::P2PReceivedPacketPtr packet,
scoped_refptr<net::IOBuffer> buffer)
: … { … }
ThrottlingP2PNetworkInterceptor::StoredReceivePacket::~StoredReceivePacket() =
default;
ThrottlingP2PNetworkInterceptor::ThrottlingP2PNetworkInterceptor()
: … { … }
ThrottlingP2PNetworkInterceptor::~ThrottlingP2PNetworkInterceptor() { … }
void ThrottlingP2PNetworkInterceptor::RegisterSocket(P2PSocketUdp* socket) { … }
void ThrottlingP2PNetworkInterceptor::UnregisterSocket(P2PSocketUdp* socket) { … }
void ThrottlingP2PNetworkInterceptor::UpdateConditions(
const NetworkConditions& conditions) { … }
void ThrottlingP2PNetworkInterceptor::EnqueueSend(P2PPendingPacket packet,
P2PSocketUdp* socket) { … }
void ThrottlingP2PNetworkInterceptor::OnSendNetworkTimer() { … }
void ThrottlingP2PNetworkInterceptor::EnqueueReceive(
mojom::P2PReceivedPacketPtr packet,
scoped_refptr<net::IOBuffer> buffer,
P2PSocketUdp* socket) { … }
void ThrottlingP2PNetworkInterceptor::OnReceiveNetworkTimer() { … }
}