DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::oks::OksXmlTokenPool Struct Reference

#include <xml.hpp>

Public Member Functions

 ~OksXmlTokenPool ()
 

Private Member Functions

OksXmlTokenget ()
 
void release (OksXmlToken *token)
 

Private Attributes

std::mutex m_mutex
 
std::stack< OksXmlToken * > m_tokens
 

Friends

class OksXmlInputStream
 

Detailed Description

Definition at line 307 of file xml.hpp.

Constructor & Destructor Documentation

◆ ~OksXmlTokenPool()

dunedaq::oks::OksXmlTokenPool::~OksXmlTokenPool ( )
inline

Definition at line 313 of file xml.hpp.

313 {
314 while(!m_tokens.empty()) {
315 OksXmlToken * t = m_tokens.top();
316 m_tokens.pop();
317 delete t;
318 }
319 }
std::stack< OksXmlToken * > m_tokens
Definition xml.hpp:354

Member Function Documentation

◆ get()

OksXmlToken * dunedaq::oks::OksXmlTokenPool::get ( )
inlineprivate

Get free OksXmlToken from pool or create new one. Lock mutex before usage!

Definition at line 329 of file xml.hpp.

329 {
330 if(!m_tokens.empty()) {
331 OksXmlToken * t = m_tokens.top();
332 m_tokens.pop();
333 return t;
334 }
335 else {
336 return new OksXmlToken();
337 }
338 }

◆ release()

void dunedaq::oks::OksXmlTokenPool::release ( OksXmlToken * token)
inlineprivate

Add OksXmlToken to pool. Lock mutex before usage!

Definition at line 346 of file xml.hpp.

346 {
347 m_tokens.push(token);
348 }

Friends And Related Symbol Documentation

◆ OksXmlInputStream

friend class OksXmlInputStream
friend

Definition at line 309 of file xml.hpp.

Member Data Documentation

◆ m_mutex

std::mutex dunedaq::oks::OksXmlTokenPool::m_mutex
private

Definition at line 353 of file xml.hpp.

◆ m_tokens

std::stack<OksXmlToken *> dunedaq::oks::OksXmlTokenPool::m_tokens
private

Definition at line 354 of file xml.hpp.


The documentation for this struct was generated from the following file: