#ifndef __TRACYPROTOCOL_HPP__ #define __TRACYPROTOCOL_HPP__ #include #include #include "../common/tracy_lz4.hpp" namespace tracy { using lz4sz_t = uint32_t; enum { TargetFrameSize = 256 * 1024 }; enum { LZ4Size = LZ4_COMPRESSBOUND( TargetFrameSize ) }; static_assert( LZ4Size <= std::numeric_limits::max(), "LZ4Size greater than lz4sz_t" ); static_assert( TargetFrameSize * 2 >= 64 * 1024, "Not enough space for LZ4 stream buffer" ); enum ServerQuery : uint8_t { ServerQueryTerminate, ServerQueryString, ServerQueryThreadString, ServerQueryCustomString, ServerQuerySourceLocation, ServerQuerySourceLocationPayload, ServerQueryPlotName, ServerQueryMessage, }; enum { WelcomeMessageProgramNameSize = 64 }; #pragma pack( 1 ) struct WelcomeMessage { uint8_t lz4; double timerMul; uint64_t initBegin; uint64_t initEnd; uint64_t delay; uint64_t resolution; uint64_t epoch; char programName[WelcomeMessageProgramNameSize]; }; #pragma pack() enum { WelcomeMessageSize = sizeof( WelcomeMessage ) }; } #endif