#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, ServerQuerySourceLocation, ServerQueryPlotName, ServerQueryCallstackFrame, }; enum { WelcomeMessageProgramNameSize = 64 }; struct WelcomeMessage { double timerMul; int64_t initBegin; int64_t initEnd; uint64_t delay; uint64_t resolution; uint64_t epoch; char programName[WelcomeMessageProgramNameSize]; }; enum { WelcomeMessageSize = sizeof( WelcomeMessage ) }; } #endif