1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Preemptive message text delivery.

This commit is contained in:
Bartosz Taudul
2017-11-11 15:41:21 +01:00
parent 76e11174dc
commit 7f3b8f4647
5 changed files with 21 additions and 44 deletions
+8 -8
View File
@@ -264,15 +264,19 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token )
for( size_t i=0; i<sz; i++ )
{
const auto item = m_itemBuf + i;
uint64_t ptr;
switch( item->hdr.type )
{
case QueueType::ZoneText:
{
const auto ptr = item->zoneText.text;
ptr = item->zoneText.text;
SendString( ptr, (const char*)ptr, QueueType::CustomStringData );
tracy_free( (void*)ptr );
break;
case QueueType::Message:
ptr = item->message.text;
SendString( ptr, (const char*)ptr, QueueType::CustomStringData );
tracy_free( (void*)ptr );
break;
}
default:
break;
}
@@ -322,7 +326,7 @@ bool Profiler::SendData( const char* data, size_t len )
bool Profiler::SendString( uint64_t str, const char* ptr, QueueType type )
{
assert( type == QueueType::StringData || type == QueueType::ThreadName || type == QueueType::CustomStringData || type == QueueType::PlotName || type == QueueType::MessageData );
assert( type == QueueType::StringData || type == QueueType::ThreadName || type == QueueType::CustomStringData || type == QueueType::PlotName );
QueueItem item;
item.hdr.type = type;
@@ -417,10 +421,6 @@ bool Profiler::HandleServerQuery()
case ServerQueryPlotName:
SendString( ptr, (const char*)ptr, QueueType::PlotName );
break;
case ServerQueryMessage:
SendString( ptr, (const char*)ptr, QueueType::MessageData );
tracy_free( (void*)ptr );
break;
case ServerQueryTerminate:
return false;
default: