2026-05-24 16:12:29 -04:00
|
|
|
#ifndef SMO_BODY_THREAD_H
|
|
|
|
|
#define SMO_BODY_THREAD_H
|
|
|
|
|
|
2026-05-30 11:59:42 -04:00
|
|
|
#include <boost/asio/io_context.hpp>
|
2026-05-24 16:12:29 -04:00
|
|
|
#include <spinscale/co/invokers.h>
|
|
|
|
|
#include <spinscale/co/postingPromise.h>
|
|
|
|
|
|
|
|
|
|
namespace smo {
|
|
|
|
|
namespace body {
|
|
|
|
|
|
|
|
|
|
struct BodyThreadTag
|
|
|
|
|
{
|
2026-05-30 11:59:42 -04:00
|
|
|
static boost::asio::io_context &io_context();
|
2026-05-24 16:12:29 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
|
using BodyPostingPromise =
|
|
|
|
|
sscl::co::TaggedPostingPromise<T, BodyThreadTag>;
|
|
|
|
|
|
|
|
|
|
using BodyNonViralPostingInvoker =
|
|
|
|
|
sscl::co::NonViralPostingInvoker<BodyPostingPromise>;
|
|
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
|
using BodyViralPostingInvoker =
|
|
|
|
|
sscl::co::ViralPostingInvoker<BodyPostingPromise, T>;
|
|
|
|
|
|
|
|
|
|
} // namespace body
|
|
|
|
|
} // namespace smo
|
|
|
|
|
|
|
|
|
|
#endif // SMO_BODY_THREAD_H
|