@@ -34,13 +34,12 @@ using namespace o2::header;
3434// / SubTimeFrameReadoutBuilder
3535// //////////////////////////////////////////////////////////////////////////////
3636
37- SubTimeFrameReadoutBuilder::SubTimeFrameReadoutBuilder (FairMQChannel& pChan, bool pDplEnabled)
38- : mStf (nullptr ),
39- mDplEnabled (pDplEnabled)
37+ SubTimeFrameReadoutBuilder::SubTimeFrameReadoutBuilder (MemoryResources &pMemRes, bool pDplEnabled)
38+ : mStf (nullptr ), mDplEnabled (pDplEnabled),mMemRes (pMemRes)
4039{
41- mHeaderMemRes = std::make_unique<RegionAllocatorResource<alignof (o2::header::DataHeader)>>(
40+ mMemRes . mHeaderMemRes = std::make_unique<RegionAllocatorResource<alignof (o2::header::DataHeader)>>(
4241 " O2HeadersRegion" ,
43- pChan ,
42+ * mMemRes . mShmTransport ,
4443 std::size_t (256 ) << 20 , /* make configurable */
4544 mDplEnabled ?
4645 sizeof (DataHeader) + sizeof (o2::framework::DataProcessingHeader) :
@@ -190,14 +189,14 @@ void SubTimeFrameReadoutBuilder::addHbFrames(
190189 o2::framework::DataProcessingHeader{mStf ->header ().mId }
191190 );
192191
193- lHdrMsg = mHeaderMemRes -> NewFairMQMessage (lStack.size ());
192+ lHdrMsg = mMemRes . newHeaderMessage (lStack.size ());
194193 if (lHdrMsg) {
195194 std::memcpy (lHdrMsg->GetData (), lStack.data (), lStack.size ());
196195 }
197196 } else {
198197 auto lHdrMsgStack = Stack (lDataHdr);
199198
200- lHdrMsg = mHeaderMemRes -> NewFairMQMessage (lHdrMsgStack.size ());
199+ lHdrMsg = mMemRes . newHeaderMessage (lHdrMsgStack.size ());
201200 if (lHdrMsg) {
202201 std::memcpy (lHdrMsg->GetData (), lHdrMsgStack.data (), lHdrMsgStack.size ());
203202 }
@@ -229,20 +228,20 @@ std::unique_ptr<SubTimeFrame> SubTimeFrameReadoutBuilder::getStf()
229228// / SubTimeFrameFileBuilder
230229// //////////////////////////////////////////////////////////////////////////////
231230
232- SubTimeFrameFileBuilder::SubTimeFrameFileBuilder (FairMQChannel& pChan, MemoryResources &pMemRes,
231+ SubTimeFrameFileBuilder::SubTimeFrameFileBuilder (MemoryResources &pMemRes,
233232 const std::size_t pDataSegSize, const std::size_t pHdrSegSize, bool pDplEnabled)
234233 : mMemRes (pMemRes), mDplEnabled (pDplEnabled)
235234{
236235 mMemRes .mHeaderMemRes = std::make_unique<RegionAllocatorResource<alignof (o2::header::DataHeader)>>(
237236 " O2HeadersRegion_FileSource" ,
238- pChan ,
237+ * mMemRes . mShmTransport ,
239238 pHdrSegSize,
240239 0
241240 );
242241
243242 mMemRes .mDataMemRes = std::make_unique<RegionAllocatorResource<>>(
244243 " O2DataRegion_FileSource" ,
245- pChan ,
244+ * mMemRes . mShmTransport ,
246245 pDataSegSize,
247246 0 // TODO: GPU flags
248247 );
@@ -307,20 +306,20 @@ void SubTimeFrameFileBuilder::adaptHeaders(SubTimeFrame *pStf)
307306// / TimeFrameBuilder
308307// //////////////////////////////////////////////////////////////////////////////
309308
310- TimeFrameBuilder::TimeFrameBuilder (FairMQChannel& pChan, const std:: size_t pDataSegSize, bool pDplEnabled)
311- : mDplEnabled( pDplEnabled),
312- mOutputChan(pChan )
309+ TimeFrameBuilder::TimeFrameBuilder (MemoryResources &pMemRes,
310+ const std:: size_t pDataSegSize, const std:: size_t pHdrSegSize, bool pDplEnabled)
311+ : mDplEnabled (pDplEnabled), mMemRes (pMemRes )
313312{
314- mHeaderMemRes = std::make_unique<RegionAllocatorResource<alignof (o2::header::DataHeader)>>(
313+ mMemRes . mHeaderMemRes = std::make_unique<RegionAllocatorResource<alignof (o2::header::DataHeader)>>(
315314 " O2HeadersRegion" ,
316- pChan ,
317- std::size_t ( 256 ) << 20 , /* make configurable */
315+ * mMemRes . mShmTransport ,
316+ pHdrSegSize,
318317 0 /* dont need registration flags for headers */
319318 );
320319
321- mDataMemRes = std::make_unique<RegionAllocatorResource<>>(
320+ mMemRes . mDataMemRes = std::make_unique<RegionAllocatorResource<>>(
322321 " O2DataRegion_FileSource" ,
323- pChan ,
322+ * mMemRes . mShmTransport ,
324323 pDataSegSize,
325324 0 // TODO: GPU flags
326325 );
@@ -332,7 +331,7 @@ void TimeFrameBuilder::adaptHeaders(SubTimeFrame *pStf)
332331 return ;
333332 }
334333
335- const auto lOutChannelType = mOutputChan . GetTransportType () ;
334+ const auto lOutChannelType = fair::mq::Transport::SHM ;
336335
337336 // adapt headers for DPL
338337 for (auto & lDataIdentMapIter : pStf->mData ) {
@@ -377,11 +376,7 @@ void TimeFrameBuilder::adaptHeaders(SubTimeFrame *pStf)
377376 o2::framework::DataProcessingHeader{pStf->header ().mId }
378377 );
379378
380- if (lOutChannelType == fair::mq::Transport::SHM) {
381- lStfDataIter.mHeader = newHeaderMessage (lStack.size ());
382- } else {
383- lStfDataIter.mHeader = mOutputChan .NewMessage (lStack.size ());
384- }
379+ lStfDataIter.mHeader = newHeaderMessage (lStack.size ());
385380
386381 if (lStfDataIter.mHeader ) {
387382 assert (lStfDataIter.mHeader ->GetSize () >= sizeof (DataHeader));
0 commit comments