20#ifndef LLVM_DEBUGINFOD_DEBUGINFOD_H
21#define LLVM_DEBUGINFOD_DEBUGINFOD_H
35#include <condition_variable>
91 std::mutex QueueMutex;
92 std::condition_variable QueueCondition;
93 std::queue<DebuginfodLogEntry> LogEntryQueue;
This file defines the StringMap class.
This file declares a library for handling Build IDs and using them to find debug info.
This file contains the declarations of the HTTPServer and HTTPServerRequest classes,...
Tracks a collection of debuginfod artifacts on the local filesystem.
Expected< std::string > findBinaryPath(object::BuildIDRef)
Error updateForever(std::chrono::milliseconds Interval)
Expected< std::string > findDebugBinaryPath(object::BuildIDRef)
void push(DebuginfodLogEntry Entry)
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
An HTTP server which can listen on a single TCP/IP port for HTTP requests and delgate them to the app...
Interval Class - An Interval is a set of nodes defined such that every node in the interval has all o...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
StringRef - Represent a constant reference to a string, i.e.
A ThreadPool for asynchronous parallel execution on a defined number of threads.
This class is used to track the amount of time spent between invocations of its startTimer()/stopTime...
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
This is an optimization pass for GlobalISel generic memory operations.
Expected< std::string > getCachedOrDownloadExecutable(object::BuildIDRef ID)
Fetches an executable by searching the default local cache directory and server URLs.
SmallVector< StringRef > getDefaultDebuginfodUrls()
Finds default array of Debuginfod server URLs by checking DEBUGINFOD_URLS environment variable.
Expected< std::string > getCachedOrDownloadDebuginfo(object::BuildIDRef ID)
Fetches a debug binary by searching the default local cache directory and server URLs.
Expected< std::string > getCachedOrDownloadArtifact(StringRef UniqueKey, StringRef UrlPath)
Fetches any debuginfod artifact using the default local cache directory and server URLs.
Expected< std::string > getCachedOrDownloadSource(object::BuildIDRef ID, StringRef SourceFilePath)
Fetches a specified source file by searching the default local cache directory and server URLs.
std::chrono::milliseconds getDefaultDebuginfodTimeout()
Finds a default timeout for debuginfod HTTP requests.
bool canUseDebuginfod()
Returns false if a debuginfod lookup can be determined to have no chance of succeeding.
Expected< std::string > getDefaultDebuginfodCacheDirectory()
Finds a default local file caching directory for the debuginfod client, first checking DEBUGINFOD_CAC...
DebuginfodLogEntry()=default
DebuginfodCollection & Collection