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 312 of file xml.hpp.

Constructor & Destructor Documentation

◆ ~OksXmlTokenPool()

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

Definition at line 318 of file xml.hpp.

318 {
319 while(!m_tokens.empty()) {
320 OksXmlToken * t = m_tokens.top();
321 m_tokens.pop();
322 delete t;
323 }
324 }
std::stack< OksXmlToken * > m_tokens
Definition xml.hpp:359

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 334 of file xml.hpp.

334 {
335 if(!m_tokens.empty()) {
336 OksXmlToken * t = m_tokens.top();
337 m_tokens.pop();
338 return t;
339 }
340 else {
341 return new OksXmlToken();
342 }
343 }

◆ release()

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

Add OksXmlToken to pool. Lock mutex before usage!

Definition at line 351 of file xml.hpp.

351 {
352 m_tokens.push(token);
353 }

◆ OksXmlInputStream

friend class OksXmlInputStream
friend

Definition at line 314 of file xml.hpp.

Member Data Documentation

◆ m_mutex

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

Definition at line 358 of file xml.hpp.

◆ m_tokens

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

Definition at line 359 of file xml.hpp.


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