| |
143 |
143 |
{ |
| |
144 |
144 |
m_eventHasBuffers.SetEvent(); |
| |
145 |
145 |
m_notifier(); |
| |
146 |
146 |
} |
| |
147 |
147 |
else |
| |
148 |
148 |
{ |
| |
149 |
149 |
m_eventHasBuffers.ResetEvent(); |
| |
150 |
150 |
m_notifier(); |
| |
151 |
151 |
} |
| |
152 |
152 |
} |
| |
153 |
153 |
|
| |
154 |
154 |
void TOrderedBufferQueue::UpdateHasErrors() |
| |
155 |
155 |
{ |
| |
156 |
156 |
m_eventHasError.SetEvent(m_pFirstErrorBuffer != nullptr); |
| |
157 |
157 |
} |
| |
158 |
158 |
|
| |
159 |
159 |
boost::signals2::signal<void()>& TOrderedBufferQueue::GetNotifier() |
| |
160 |
160 |
{ |
| |
161 |
161 |
return m_notifier; |
| |
162 |
162 |
} |
| |
|
163 |
|
| |
|
164 |
void TOrderedBufferQueue::UpdateProcessingRange(unsigned long long ullNewPosition) |
| |
|
165 |
{ |
| |
|
166 |
if(!m_setBuffers.empty()) |
| |
|
167 |
throw TCoreException(eErr_InvalidData, L"Cannot update processing range when processing already started", LOCATION); |
| |
|
168 |
|
| |
|
169 |
m_ullExpectedBufferPosition = ullNewPosition; |
| |
163 |
170 |
} |
| |
|
171 |
} |