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:
@@ -426,7 +426,7 @@ void PcloudStimulusProducer::stimFrameProductionTimesliceInd()
|
||||
}
|
||||
|
||||
class PcloudStimulusProducer::ProduceFrameReq
|
||||
: public sscl::PostedAsynchronousContinuation<produceFrameReqCbFn>
|
||||
: public sscl::cps::PostedAsynchronousContinuation<produceFrameReqCbFn>
|
||||
{
|
||||
private:
|
||||
PcloudStimulusProducer& pcloudProducer;
|
||||
@@ -440,8 +440,8 @@ public:
|
||||
ProduceFrameReq(
|
||||
PcloudStimulusProducer& producer,
|
||||
const std::shared_ptr<sscl::ComponentThread>& caller,
|
||||
sscl::Callback<produceFrameReqCbFn> cb)
|
||||
: sscl::PostedAsynchronousContinuation<produceFrameReqCbFn>(caller, cb),
|
||||
sscl::cps::Callback<produceFrameReqCbFn> cb)
|
||||
: sscl::cps::PostedAsynchronousContinuation<produceFrameReqCbFn>(caller, cb),
|
||||
pcloudProducer(producer),
|
||||
frameAssemblyResult(0),
|
||||
stimulusFrame(producer.tempStimulusFrame)
|
||||
@@ -724,7 +724,7 @@ public:
|
||||
};
|
||||
|
||||
void PcloudStimulusProducer::produceFrameReq(
|
||||
sscl::Callback<produceFrameReqCbFn> callback)
|
||||
sscl::cps::Callback<produceFrameReqCbFn> callback)
|
||||
{
|
||||
/** EXPLANATION:
|
||||
* We shouldn't acquire the StimulusProducer::shouldContinueLock here because
|
||||
|
||||
Reference in New Issue
Block a user