Files
salmanoff/smocore/include/marionette/marionetteThread.h
T
hayodea cde2737876 Libspinscale: Initial top-level SMO port to coroutine framework
We haven't ported everything. Just the top-level methods. We'll
dig in to the leaf stuff later. Surprisingly, this all went without
any real difficulties.

Runs like a charm on first try.
2026-05-24 23:26:18 -04:00

38 lines
857 B
C++

#ifndef SMO_MARIONETTE_THREAD_H
#define SMO_MARIONETTE_THREAD_H
#include <boost/asio/io_service.hpp>
#include <spinscale/co/invokers.h>
#include <spinscale/co/postingPromise.h>
namespace smo {
namespace mrntt {
struct MrnttThreadTag
{
static boost::asio::io_service &io_service() noexcept;
};
template <typename T>
using MrnttPostingPromise =
sscl::co::TaggedPostingPromise<T, MrnttThreadTag>;
using MrnttNonViralPostingInvoker =
sscl::co::NonViralPostingInvoker<MrnttPostingPromise>;
template <typename T>
using MrnttViralPostingInvoker =
sscl::co::ViralPostingInvoker<MrnttPostingPromise, T>;
using MrnttViralNonPostingInvoker =
sscl::co::ViralNonPostingInvoker<void>;
template <typename T>
using MrnttViralNonPostingInvokerT =
sscl::co::ViralNonPostingInvoker<T>;
} // namespace mrntt
} // namespace smo
#endif // SMO_MARIONETTE_THREAD_H