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.
This commit is contained in:
@@ -17,11 +17,11 @@
|
||||
#include <boost/system/error_code.hpp>
|
||||
#include <livoxProto1/device.h>
|
||||
#include <livoxProto1/livoxProto1.h>
|
||||
#include <spinscale/asynchronousContinuation.h>
|
||||
#include <spinscale/cps/asynchronousContinuation.h>
|
||||
#include <spinscale/asynchronousLoop.h>
|
||||
#include <spinscale/asynchronousBridge.h>
|
||||
#include <spinscale/callback.h>
|
||||
#include <spinscale/callableTracer.h>
|
||||
#include <spinscale/cps/asynchronousBridge.h>
|
||||
#include <spinscale/cps/callback.h>
|
||||
#include <spinscale/cps/callableTracer.h>
|
||||
#include <spinscale/spinLock.h>
|
||||
#include "ioUringAssemblyEngine.h"
|
||||
#include "pcloudStimulusProducer.h"
|
||||
@@ -175,7 +175,7 @@ void IoUringAssemblyEngine::finalize()
|
||||
|
||||
{
|
||||
auto& ioService = smoHooksPtr->ComponentThread_getSelf()->getIoService();
|
||||
sscl::AsynchronousBridge bridge(ioService);
|
||||
sscl::cps::AsynchronousBridge bridge(ioService);
|
||||
boost::asio::deadline_timer timeoutTimer(ioService);
|
||||
|
||||
/** EXPLANATION:
|
||||
@@ -420,15 +420,15 @@ cleanup_eventfd:
|
||||
|
||||
// Continuation class for assembleFrameReq
|
||||
class IoUringAssemblyEngine::AssembleFrameReq
|
||||
: public sscl::PostedAsynchronousContinuation<
|
||||
: public sscl::cps::PostedAsynchronousContinuation<
|
||||
IoUringAssemblyEngine::assembleFrameReqCbFn>
|
||||
{
|
||||
public:
|
||||
AssembleFrameReq(
|
||||
IoUringAssemblyEngine& engine_,
|
||||
const std::shared_ptr<sscl::ComponentThread>& caller,
|
||||
sscl::Callback<IoUringAssemblyEngine::assembleFrameReqCbFn> cb)
|
||||
: sscl::PostedAsynchronousContinuation<
|
||||
sscl::cps::Callback<IoUringAssemblyEngine::assembleFrameReqCbFn> cb)
|
||||
: sscl::cps::PostedAsynchronousContinuation<
|
||||
IoUringAssemblyEngine::assembleFrameReqCbFn>(caller, cb),
|
||||
engine(engine_),
|
||||
loop(engine_.frameAssemblyDesc->numSlots),
|
||||
@@ -635,7 +635,7 @@ public:
|
||||
};
|
||||
|
||||
void IoUringAssemblyEngine::assembleFrameReq(
|
||||
sscl::Callback<assembleFrameReqCbFn> cb)
|
||||
sscl::cps::Callback<assembleFrameReqCbFn> cb)
|
||||
{
|
||||
{
|
||||
sscl::SpinLock::Guard lock(shouldAcceptRequestsLock);
|
||||
|
||||
Reference in New Issue
Block a user