MCPcopy Create free account
hub / github.com/Snapchat/Valdi / consumeBufferedData

Method consumeBufferedData

valdi/src/valdi/runtime/Debugger/DaemonClient.cpp:252–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252bool DaemonClient::consumeBufferedData() {
253 Result<BytesView> result;
254 {
255 std::lock_guard<Mutex> lock(_mutex);
256 result = _packetStream.read();
257 }
258
259 if (!result) {
260 if (result.error() == ValdiPacket::incompletePacketError()) {
261 return false;
262 }
263
264 // Something bad happened, closing connection
265 VALDI_ERROR(*_logger, "Received invalid packet: {}, disconnecting daemon client...", result.error());
266 closeClient(result.error());
267 return false;
268 }
269
270 auto payloadData = result.moveValue();
271
272 auto payload = jsonToValue(payloadData.data(), payloadData.size());
273 if (payload) {
274 processPayload(payload.value());
275 } else {
276 VALDI_ERROR(*_logger, "Failed to parse packet: {}", payload.error());
277 }
278
279 return true;
280}
281
282void DaemonClient::sendJsDebuggerInfo(uint16_t port, const std::vector<StringBox>& websocketTargets) {
283 auto targets = ValueArray::make(websocketTargets.size());

Callers

nothing calls this directly

Calls 6

readMethod · 0.65
errorMethod · 0.65
valueMethod · 0.65
jsonToValueFunction · 0.50
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected