diff options
author | Ryan Keane <rwkeane@google.com> | 2019-09-04 12:17:34 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-09-04 19:29:52 +0000 |
commit | ecdb30eafdd26eaa4aaad3758a1e7ae13af8f9b2 (patch) | |
tree | 61c1e81a92ca7ce34c2207bd106c8c0bb54ce534 /osp/impl/discovery/mdns/embedder_demo.cc | |
parent | 371bc2bf0657d1df9b72f0560d492ccc7d94a521 (diff) | |
download | openscreen-ecdb30eafdd26eaa4aaad3758a1e7ae13af8f9b2.tar.gz |
Adds platform factories for network and task threads
Adds wrappers around NetworkReader and TaskRunnerImpl to simplify
the creation and destruction flows as used in the demo code
Change-Id: I350bd06af3d78963e516d3ee674426682db6b343
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1773409
Commit-Queue: Ryan Keane <rwkeane@google.com>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
Diffstat (limited to 'osp/impl/discovery/mdns/embedder_demo.cc')
-rw-r--r-- | osp/impl/discovery/mdns/embedder_demo.cc | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/osp/impl/discovery/mdns/embedder_demo.cc b/osp/impl/discovery/mdns/embedder_demo.cc index b9a5f917..33c921b5 100644 --- a/osp/impl/discovery/mdns/embedder_demo.cc +++ b/osp/impl/discovery/mdns/embedder_demo.cc @@ -16,7 +16,9 @@ #include "platform/api/time.h" #include "platform/base/error.h" #include "platform/impl/network_reader.h" +#include "platform/impl/network_reader_thread.h" #include "platform/impl/task_runner.h" +#include "platform/impl/task_runner_thread.h" // This file contains a demo of our mDNSResponder wrapper code. It can both // listen for mDNS services and advertise an mDNS service. The command-line @@ -356,22 +358,16 @@ int main(int argc, char** argv) { openscreen::ServiceMap services; openscreen::g_services = &services; - auto task_runner = std::make_unique<openscreen::platform::TaskRunnerImpl>( + + openscreen::platform::TaskRunnerThread task_runner_thread( openscreen::platform::Clock::now); - std::thread task_runner_thread( - [&task_runner]() { task_runner->RunUntilStopped(); }); - auto network_reader = std::make_unique<openscreen::platform::NetworkReader>(); - openscreen::platform::UdpSocket::SetLifetimeObserver(network_reader.get()); - std::thread network_reader_thread( - [&network_reader]() { network_reader->RunUntilStopped(); }); - - openscreen::BrowseDemo(task_runner.get(), labels[0], labels[1], + openscreen::platform::NetworkReaderThread network_reader_thread; + openscreen::platform::UdpSocket::SetLifetimeObserver( + network_reader_thread.network_reader()); + + openscreen::BrowseDemo(task_runner_thread.task_runner(), labels[0], labels[1], service_instance); - network_reader->RequestStopSoon(); - task_runner->RequestStopSoon(); - network_reader_thread.join(); - task_runner_thread.join(); openscreen::g_services = nullptr; return 0; } |