open62541pp 0.20.0
C++ wrapper of open62541
Loading...
Searching...
No Matches
server_callback.cpp
#include <chrono>
#include <iostream>
int main() {
opcua::Server server;
size_t counter = 0;
const double interval = 500; // milliseconds
server,
[&] {
++counter;
std::cout << "Repeated callback: " << counter << "\n"; },
interval
);
server,
[&] {
std::cout << "Timed callback: Double interval of repeated callback\n";
opcua::changeRepeatedCallbackInterval(server, id1, interval * 2);
},
opcua::DateTime::now() + std::chrono::seconds(2)
);
server.run();
opcua::removeCallback(server, id1);
opcua::removeCallback(server, id2);
}
static DateTime now() noexcept
Get current DateTime.
Definition types.hpp:375
High-level server class.
Definition server.hpp:141
void run()
Run the server's main loop. This method will block until Server::stop is called.
uint64_t CallbackId
Definition callback.hpp:13
void changeRepeatedCallbackInterval(T &connection, CallbackId callbackId, double intervalMilliseconds)
Change the execution interval of an existing repeated callback.
CallbackId addTimedCallback(T &connection, TimedCallback callback, DateTime date)
Add a callback for execution at a specified time.
void removeCallback(T &connection, CallbackId callbackId)
Remove a previously registered callback.
CallbackId addRepeatedCallback(T &connection, RepeatedCallback callback, double intervalMilliseconds)
Add a callback for repeated execution.