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:
parent
8cd8d2292c
commit
6f8b4cd40d
@ -17,9 +17,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
#include "rtc_base/checks.h"
|
|
||||||
#include "rtc_base/mdns_responder_interface.h"
|
#include "rtc_base/mdns_responder_interface.h"
|
||||||
#include "rtc_base/message_handler.h"
|
|
||||||
#include "rtc_base/network.h"
|
#include "rtc_base/network.h"
|
||||||
#include "rtc_base/socket_address.h"
|
#include "rtc_base/socket_address.h"
|
||||||
#include "rtc_base/string_encode.h"
|
#include "rtc_base/string_encode.h"
|
||||||
@ -31,8 +29,7 @@ const int kFakeIPv4NetworkPrefixLength = 24;
|
|||||||
const int kFakeIPv6NetworkPrefixLength = 64;
|
const int kFakeIPv6NetworkPrefixLength = 64;
|
||||||
|
|
||||||
// Fake network manager that allows us to manually specify the IPs to use.
|
// Fake network manager that allows us to manually specify the IPs to use.
|
||||||
class FakeNetworkManager : public NetworkManagerBase,
|
class FakeNetworkManager : public NetworkManagerBase {
|
||||||
public MessageHandlerAutoCleanup {
|
|
||||||
public:
|
public:
|
||||||
FakeNetworkManager() {}
|
FakeNetworkManager() {}
|
||||||
|
|
||||||
@ -77,28 +74,14 @@ class FakeNetworkManager : public NetworkManagerBase,
|
|||||||
++start_count_;
|
++start_count_;
|
||||||
if (start_count_ == 1) {
|
if (start_count_ == 1) {
|
||||||
sent_first_update_ = false;
|
sent_first_update_ = false;
|
||||||
rtc::Thread::Current()->Post(RTC_FROM_HERE, this, kUpdateNetworksMessage);
|
Thread::Current()->PostTask([this] { DoUpdateNetworks(); });
|
||||||
} else {
|
} else if (sent_first_update_) {
|
||||||
if (sent_first_update_) {
|
Thread::Current()->PostTask([this] { SignalNetworksChanged(); });
|
||||||
rtc::Thread::Current()->Post(RTC_FROM_HERE, this,
|
|
||||||
kSignalNetworksMessage);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StopUpdating() override { --start_count_; }
|
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_default_local_addresses;
|
||||||
using NetworkManagerBase::set_enumeration_permission;
|
using NetworkManagerBase::set_enumeration_permission;
|
||||||
|
|
||||||
@ -148,9 +131,6 @@ class FakeNetworkManager : public NetworkManagerBase,
|
|||||||
int start_count_ = 0;
|
int start_count_ = 0;
|
||||||
bool sent_first_update_ = false;
|
bool sent_first_update_ = false;
|
||||||
|
|
||||||
static constexpr uint32_t kUpdateNetworksMessage = 1;
|
|
||||||
static constexpr uint32_t kSignalNetworksMessage = 2;
|
|
||||||
|
|
||||||
std::unique_ptr<webrtc::MdnsResponderInterface> mdns_responder_;
|
std::unique_ptr<webrtc::MdnsResponderInterface> mdns_responder_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user