diff --git a/stimBuffApis/livoxGen1/stagingBuffer.h b/stimBuffApis/livoxGen1/stagingBuffer.h index ed7e6da..0752c08 100644 --- a/stimBuffApis/livoxGen1/stagingBuffer.h +++ b/stimBuffApis/livoxGen1/stagingBuffer.h @@ -22,7 +22,30 @@ namespace stim_buff { class StagingBuffer { public: - explicit StagingBuffer(); + class InputEngineConstraints + { + public: + InputEngineConstraints(); + ~InputEngineConstraints(); + }; + + class OutputEngineConstraints + { + public: + OutputEngineConstraints(); + ~OutputEngineConstraints(); + }; + +public: + /** EXPLANATION: + * We use the input and output engine constraints to determine the total + * amount of memory required internally to assemble a single frame with + * the given number of points per frame. + */ + explicit StagingBuffer( + const InputEngineConstraints& inputEngineConstraints, + const OutputEngineConstraints& outputEngineConstraints, + size_t nPointsPerFrame); ~StagingBuffer(); // Non-copyable, movable @@ -31,6 +54,10 @@ public: StagingBuffer(StagingBuffer&&) = default; StagingBuffer& operator=(StagingBuffer&&) = default; +public: + // operator IoUringQueueDescriptor() const; + // operator OpenClSharedBufferDescriptor() const; + bool isAssembling() const { return isAssembling_; } void startAssembly(); void stopAssembly();