MCPcopy Create free account
hub / github.com/caozhiyi/CppNet / GetUseMemoryBlock

Method GetUseMemoryBlock

base/LoopBuffer.cpp:187–210  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185}
186
187bool CLoopBuffer::GetUseMemoryBlock(void*& res1, int& len1, void*& res2, int& len2) {
188 res1 = res2 = nullptr;
189 len1 = len2 = 0;
190
191 std::unique_lock<std::mutex> lock(_mutex);
192 if (_read >= _write) {
193 if (!_can_read && _write == _read) {
194 return false;
195 }
196 res1 = _read;
197 len1 = (int)(_buffer_end - _read);
198
199 len2 = (int)(_write - _buffer_start);
200 if(len2 > 0) {
201 res2 = _buffer_start;
202 }
203 return true;
204
205 } else {
206 res1 = _read;
207 len1 = (int)(_write - _read);
208 return true;
209 }
210}
211
212int CLoopBuffer::FindStr(const char* s, int s_len) {
213 std::unique_lock<std::mutex> lock(_mutex);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected