From b389ccbb389aee24c82fdc9bd654ff76af97e2b9 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Mon, 13 Apr 2020 14:26:59 +0200 Subject: [PATCH] Issue just one read call when handling server queries. --- client/TracyProfiler.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index 5cbce936..f5e8379b 100644 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -2315,13 +2315,15 @@ void Profiler::SendCallstackFrame( uint64_t ptr ) bool Profiler::HandleServerQuery() { + ServerQueryPacket payload; + if( !m_sock->Read( &payload, sizeof( payload ), 10 ) ) return false; + uint8_t type; uint64_t ptr; uint32_t extra; - - if( !m_sock->Read( &type, sizeof( type ), 10 ) ) return false; - if( !m_sock->Read( &ptr, sizeof( ptr ), 10 ) ) return false; - if( !m_sock->Read( &extra, sizeof( extra ), 10 ) ) return false; + memcpy( &type, &payload.type, sizeof( payload.type ) ); + memcpy( &ptr, &payload.ptr, sizeof( payload.ptr ) ); + memcpy( &extra, &payload.extra, sizeof( payload.extra ) ); switch( type ) {