SyncEventQueue Class Reference
A simple FIFO queue for events. More...
#include <Syncmsg.h>
Inheritance diagram for SyncEventQueue:
Public Member Functions | |
| void | Insert (Event::AsyncEvent *event) |
| Insert in queue. | |
| virtual void | extract () |
| Subordinate extract mechanism. | |
| Event::AsyncEvent * | First () |
| Remove first element of queue. | |
Detailed Description
Constructor & Destructor Documentation
◆ SyncEventQueue()
|
inline |
◆ ~SyncEventQueue()
|
inline |
Definition at line 108 of file Syncmsg.h.
108 {
109 // Only delete items if root element
110 if ( _freelist == &_free ) {
111 SyncEventQueue *q1 = _free;
112 while ( q1 ) {
113 SyncEventQueue *q2 = q1;
114 q1 = q1->_free;
115 delete q2;
116 }
117 }
118 }
Member Function Documentation
◆ Insert()
|
inline |
Insert in queue.
Definition at line 121 of file Syncmsg.h.
121 {
122 SyncEventQueue *newq = _free;
123
124 if ( newq ) {
125 _free = newq->_free;
126 newq->Set (event);
127 } else {
129 newq->_freelist = _freelist;
130 }
131
132 _prev->_next = newq;
133 newq->_prev = _prev;
134 newq->_next = this;
135 _prev = newq;
136 }
Referenced by Syncmsgobj< C >::msgDeliver(), and Syncmsgobj< C >::Queue().
◆ extract()
|
inlinevirtual |
◆ First()
|
inline |
Remove first element of queue.
Definition at line 147 of file Syncmsg.h.
147 {
148 if ( _next == this )
149 return 0;
150
151 return _next->Extract();
152 }
Referenced by Syncmsgobj< C >::msgDeliver(), and Syncmsgobj< C >::Process().
The documentation for this class was generated from the following file: