diff options
Diffstat (limited to 'Rx/v2/examples')
-rw-r--r-- | Rx/v2/examples/doxygen/timeout.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Rx/v2/examples/doxygen/timeout.cpp b/Rx/v2/examples/doxygen/timeout.cpp new file mode 100644 index 0000000..c61d519 --- /dev/null +++ b/Rx/v2/examples/doxygen/timeout.cpp @@ -0,0 +1,26 @@ +#include "rxcpp/rx.hpp" + +#include "rxcpp/rx-test.hpp" +#include "catch.hpp" + +SCENARIO("timeout sample"){ + printf("//! [timeout sample]\n"); + + using namespace std::chrono; + auto values = rxcpp::observable<>::interval(milliseconds(100)) + .take(3) + .concat(rxcpp::observable<>::interval(milliseconds(500))) + .timeout(milliseconds(200)); + values. + subscribe( + [](long v) { printf("OnNext: %ld\n", v); }, + [](std::exception_ptr ep) { + try { + std::rethrow_exception(ep); + } catch (const rxcpp::timeout_error& ex) { + printf("OnError: %s\n", ex.what()); + } + }, + []() { printf("OnCompleted\n"); }); + printf("//! [timeout sample]\n"); +} |