Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
#include <chrono>
#include <thread>
auto main(main_ctx& ctx) -> int {
msgbus::router_address
address{ctx};
msgbus::connection_setup conn_setup(ctx);
msgbus::endpoint bus{
EAGINE_ID(Temporary), ctx};
conn_setup.setup_connectors(bus,
address);
if(ctx.args().none()) {
file_contents data(ctx.exe_path());
bus.broadcast_blob(
} else {
for(auto& arg : ctx.args()) {
if(file_contents data{arg}) {
bus.broadcast_blob(
data,
std::chrono::minutes(5));
}
}
}
timeout done{std::chrono::seconds{30}};
while(!done) {
if(bus.update()) {
done.reset();
} else {
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
}
bus.finish();
return 0;
}
}
#define EAGINE_ID(NAME)
Macro for constructing instances of eagine::identifier.
Definition: identifier.hpp:353
Common code is placed in this namespace.
Definition: eagine.hpp:21
#define EAGINE_MSG_ID(API, NAME)
Macro for instantiating objects of static_message_id.
Definition: message_id.hpp:148
basic_address< false > address
Type alias for non-const memory address values.
Definition: address.hpp:203