#include <CBufferMonitor.h>
Inheritance diagram for CBufferMonitor< T >:
Public Member Functions | |
CBufferMonitor (bool am_fTimedWait=true) | |
CBufferMonitor (const STD(string)&rName, bool am_fTimedWait=true) | |
CBufferMonitor (const char *pName, bool am_fTimedWait=true) | |
~CBufferMonitor () | |
DAQBuffer< T > & | getBuffer () |
list< LinkInfo > | getLinks () const |
DAQLinkMgr | getLinkMgr () const |
virtual CEventMonitor::result | operator() () |
virtual int | AddLink (const STD(string)&URL, int tag=COS_MAXBUFTAG, int mask=COS_ALLBITS, bool fReliable=true) |
void | RemoveLink (int linkid) |
void | RemoveLink (LinkIterator link) |
template<typename LinkMatchPredicate> | |
LinkIterator | FindLink (LinkMatchPredicate &rPredicate, LinkIterator startat) |
LinkIterator | beginLinks () |
LinkIterator | endLinks () |
Pointer< DAQBuffer< T >, T > | getBufferPointer (int nOffset=0) |
void | SetBufferTag (int tag=COS_ALLBITS) |
void | SetBufferMask (int nMask) |
STD (string) DescribeSelf() | |
Protected Member Functions | |
void | setBuffer (const DAQBuffer< T > am_Buffer) |
void | setLinks (const list< LinkInfo > am_lLinks) |
void | setLinkMgr (const DAQLinkMgr am_daq_link_mgr) |
Private Member Functions | |
CBufferMonitor (const CBufferMonitor< T > &aCBufferMonitor) | |
CBufferMonitor< T > | operator= (const CBufferMonitor< T > &aCBufferMonitor) |
Private Attributes | |
DAQBuffer< T > | m_Buffer |
list< LinkInfo > | m_lLinks |
DAQLinkMgr | daq_link_mgr |
int | m_nTag |
int | m_nMask |
|
|
|
|
|
|
|
|
|
|
|
|
|
Operation Type: Selector Purpose: Returns an iterator to the beginning of the link list. Definition at line 464 of file CBufferMonitor.cpp. References CBufferMonitor< T >::m_lLinks. |
|
Operation Type: Selector Purpose: Returns an iterator suitable for determining end of iteration through the link list. Definition at line 481 of file CBufferMonitor.cpp. References CBufferMonitor< T >::m_lLinks. |
|
Operation Type: Selector Purpose: Locates the first link that satisfies a given predicate. Predefined predicates include: MatchURL - matches URL only MatchAll - Matches URL, tag and mask. A LinkMatchPredicate is a function object implementing: bool operator()(LinkInfo) which returns TRUE if the link satisfies the predicate. Returns an iterator 'pointing' to the first match, or end() if there is no match. Definition at line 442 of file CBufferMonitor.cpp. References LinkIterator, and CBufferMonitor< T >::m_lLinks. |
|
Definition at line 447 of file CBufferMonitor.h. |
|
Operation Type: Selector Purpose: Returns a pointer to the DAQ Buffer. Definition at line 498 of file CBufferMonitor.cpp. References CBufferMonitor< T >::m_Buffer. Referenced by CBufferReactor< T >::OnEvent(). |
|
Definition at line 457 of file CBufferMonitor.h. |
|
Definition at line 452 of file CBufferMonitor.h. |
|
Operation Type: override Purpose: Waits for a buffer to be received. Returns one of the following: Occurred - a buffer was received into m_Buffer TimedOut - Timeouts were enabled and no buffer was received during the timeout interval. Implements CEventMonitor. Definition at line 306 of file CBufferMonitor.cpp. References CEventMonitor::getTimedWait(), CEventMonitor::getTimeout(), CBufferMonitor< T >::m_Buffer, CBufferMonitor< T >::m_nMask, and CBufferMonitor< T >::m_nTag. |
|
|
|
Operation Type: Mutator Purpose: Removes a link given the iterator to its link structure in the link list. If the iterator is end(), a CNoSuchLinkException is thrown. Definition at line 407 of file CBufferMonitor.cpp. References CBufferMonitor< T >::daq_link_mgr, and CBufferMonitor< T >::m_lLinks. |
|
Operation Type: Mutator Purpose: If the specified link exists, it is removed from the link list and deleted from the spectrodaq link manager. If the link does not exist, a CNoSuchLinkException is thrown. Definition at line 376 of file CBufferMonitor.cpp. References CBufferMonitor< T >::daq_link_mgr, LinkIterator, and CBufferMonitor< T >::m_lLinks. |
|
Definition at line 465 of file CBufferMonitor.h. |
|
Operation Type: Mutator Purpose: Sets the receive mask associated with the buffer. See SetBufferTag for an explanation of tags and masks and how they interact with link tags and masks and the tag of the incomming buffer to determine receipt. Definition at line 553 of file CBufferMonitor.cpp. References CBufferMonitor< T >::m_Buffer, and CBufferMonitor< T >::m_nMask. |
|
Operation Type: Mutator Purpose: Sets the tag matched on receives into the buffer. For each link/buffer pair, tags are used to determine which buffers routed through SpectroDaq will be received by a link or buffer. The logic is that at each stage, the routed buffer's tag is anded with the receiving entity's mask. If this is equal to the receiving entity's tag, the buffer is accepted. So, for a given link (link.mask, link.tag), and our buffer (buffer.mask, buffer.tag): A routed buffer rbuffer.tag is received when: ((rbuffer.tag & link.mask) == link.tag) && ((rbuffer.tag & buffer.mask) == buffer.tag) Definition at line 528 of file CBufferMonitor.cpp. References CBufferMonitor< T >::m_Buffer, and CBufferMonitor< T >::m_nTag. |
|
Definition at line 475 of file CBufferMonitor.h. |
|
Definition at line 470 of file CBufferMonitor.h. |
|
The name of the object Reimplemented from CNamedObject. |
|
List of links. Definition at line 391 of file CBufferMonitor.h. Referenced by CBufferMonitor< T >::RemoveLink(). |
|
Definition at line 389 of file CBufferMonitor.h. Referenced by CBufferMonitor< T >::getBufferPointer(), CBufferMonitor< T >::operator()(), CBufferMonitor< T >::SetBufferMask(), and CBufferMonitor< T >::SetBufferTag(). |
|
Encapsulated buffer Definition at line 390 of file CBufferMonitor.h. Referenced by CBufferMonitor< T >::beginLinks(), CBufferMonitor< T >::endLinks(), CBufferMonitor< T >::FindLink(), and CBufferMonitor< T >::RemoveLink(). |
|
Definition at line 393 of file CBufferMonitor.h. Referenced by CBufferMonitor< T >::operator()(), and CBufferMonitor< T >::SetBufferMask(). |
|
A link manager Definition at line 392 of file CBufferMonitor.h. Referenced by CBufferMonitor< T >::operator()(), and CBufferMonitor< T >::SetBufferTag(). |