In FakeNetworkManager remove MessageHandlerAutoCleanup dependency.

Post task in a less safer way assuming test won't try to destroy the manager right after starting the updates.

Bug: webrtc:11988
Change-Id: Idf5d001b9c09d8df793112e4ad95690f9660ac3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273961
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38007}
This commit is contained in:
Danil Chapovalov 2022-09-02 17:27:23 +02:00 committed by WebRTC LUCI CQ
parent 8cd8d2292c
commit 6f8b4cd40d

View File

@ -17,9 +17,7 @@
#include <vector>
#include "absl/memory/memory.h"
#include "rtc_base/checks.h"
#include "rtc_base/mdns_responder_interface.h"
#include "rtc_base/message_handler.h"
#include "rtc_base/network.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/string_encode.h"
@ -31,8 +29,7 @@ const int kFakeIPv4NetworkPrefixLength = 24;
const int kFakeIPv6NetworkPrefixLength = 64;
// Fake network manager that allows us to manually specify the IPs to use.
class FakeNetworkManager : public NetworkManagerBase,
public MessageHandlerAutoCleanup {
class FakeNetworkManager : public NetworkManagerBase {
public:
FakeNetworkManager() {}
@ -77,28 +74,14 @@ class FakeNetworkManager : public NetworkManagerBase,
++start_count_;
if (start_count_ == 1) {
sent_first_update_ = false;
rtc::Thread::Current()->Post(RTC_FROM_HERE, this, kUpdateNetworksMessage);
} else {
if (sent_first_update_) {
rtc::Thread::Current()->Post(RTC_FROM_HERE, this,
kSignalNetworksMessage);
}
Thread::Current()->PostTask([this] { DoUpdateNetworks(); });
} else if (sent_first_update_) {
Thread::Current()->PostTask([this] { SignalNetworksChanged(); });
}
}
void StopUpdating() override { --start_count_; }
// MessageHandler interface.
void OnMessage(Message* msg) override {
if (msg->message_id == kUpdateNetworksMessage) {
DoUpdateNetworks();
} else if (msg->message_id == kSignalNetworksMessage) {
SignalNetworksChanged();
} else {
RTC_CHECK(false);
}
}
using NetworkManagerBase::set_default_local_addresses;
using NetworkManagerBase::set_enumeration_permission;
@ -148,9 +131,6 @@ class FakeNetworkManager : public NetworkManagerBase,
int start_count_ = 0;
bool sent_first_update_ = false;
static constexpr uint32_t kUpdateNetworksMessage = 1;
static constexpr uint32_t kSignalNetworksMessage = 2;
std::unique_ptr<webrtc::MdnsResponderInterface> mdns_responder_;
};