12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef TEST_NETWORK_TRAFFIC_ROUTE_H_
- #define TEST_NETWORK_TRAFFIC_ROUTE_H_
- #include <memory>
- #include <vector>
- #include "rtc_base/copy_on_write_buffer.h"
- #include "system_wrappers/include/clock.h"
- #include "test/network/network_emulation.h"
- namespace webrtc {
- namespace test {
- class TrafficRoute {
- public:
- TrafficRoute(Clock* clock,
- EmulatedNetworkReceiverInterface* receiver,
- EmulatedEndpoint* endpoint);
- ~TrafficRoute();
-
- void TriggerPacketBurst(size_t num_packets, size_t packet_size);
-
- void NetworkDelayedAction(size_t packet_size, std::function<void()> action);
- void SendPacket(size_t packet_size);
- private:
- void SendPacket(size_t packet_size, uint16_t dest_port);
- Clock* const clock_;
- EmulatedNetworkReceiverInterface* const receiver_;
- EmulatedEndpoint* const endpoint_;
- uint16_t null_receiver_port_;
- std::unique_ptr<EmulatedNetworkReceiverInterface> null_receiver_;
- std::vector<std::unique_ptr<EmulatedNetworkReceiverInterface>> actions_;
- };
- }
- }
- #endif
|