[ntcore] Simplify local startup (#4803)

The current approach was slightly more efficient but didn't correctly
handle meta-topic publishing for topics published before the server was
started.
This commit is contained in:
Peter Johnson
2022-12-13 22:31:44 -08:00
committed by GitHub
parent 7ba8a9ee1f
commit fb2c170b6e
13 changed files with 66 additions and 221 deletions

View File

@@ -42,9 +42,8 @@ namespace nt {
class LocalStorageTest : public ::testing::Test {
public:
LocalStorageTest() { storage.StartNetwork(startup, &network); }
LocalStorageTest() { storage.StartNetwork(&network); }
::testing::StrictMock<net::MockNetworkStartupInterface> startup;
::testing::StrictMock<net::MockNetworkInterface> network;
wpi::MockLogger logger;
MockListenerStorage listenerStorage;

View File

@@ -28,21 +28,6 @@ class MockLocalInterface : public LocalInterface {
(override));
};
class MockNetworkStartupInterface : public NetworkStartupInterface {
public:
MOCK_METHOD(void, Publish,
(NT_Publisher pubHandle, NT_Topic topicHandle,
std::string_view name, std::string_view typeStr,
const wpi::json& properties, const PubSubOptionsImpl& options),
(override));
MOCK_METHOD(void, Subscribe,
(NT_Subscriber subHandle, std::span<const std::string> prefixes,
const PubSubOptionsImpl& options),
(override));
MOCK_METHOD(void, SetValue, (NT_Publisher pubHandle, const Value& value),
(override));
};
class MockNetworkInterface : public NetworkInterface {
public:
MOCK_METHOD(void, Publish,
@@ -77,9 +62,7 @@ class MockLocalStorage : public ILocalStorage {
(override));
MOCK_METHOD(void, NetworkSetValue, (NT_Topic topicHandle, const Value& value),
(override));
MOCK_METHOD(void, StartNetwork,
(NetworkStartupInterface & startup, NetworkInterface* network),
(override));
MOCK_METHOD(void, StartNetwork, (NetworkInterface * network), (override));
MOCK_METHOD(void, ClearNetwork, (), (override));
};