EpicGames.UBA Base interface for all classes that have unmanaged resources. Returns the handle to an unmanaged object An unmanaged handle Base interface for root paths used by cache system to normalize paths Register roots used to normalize paths in caches Path of root set this to false if you want to ignore all files under this folder (you know they are _always_ the same for all machines) Id of root. On windows these numbers need to increase two at the time since double backslash paths are added automatically under the hood True if successful Register system roots used to normalize paths in caches Start id for system roots. On windows these take up 10 entries True if successful Create root paths instance Struct containing results from artifact fetch Is set to true if succeeded in fetching artifacts Contains log lines if any Struct containing results from artifact fetch Is set to true if succeeded in fetching artifacts Contains log lines if any Is set to true if succeeded in fetching artifacts Contains log lines if any Base interface for a cache client Connect to cache client Cache server address Cache server port True if successful Write to cache RootPath instance Bucket to store cache entry Process Input files Input files size Output files Output files size True if successful Fetch from cache RootPath instance Bucket to search for cache entry Process start info True if successful Request the connected server to shutdown Reason for shutdown Create a ICacheClient object The session Output reason for cache miss to log. Enable crypto by using a 32 character crypto string (representing a 16 byte value) The ICacheClient Base interface for uba config file Load a config file The name of the config file The IConfig The verbosity of a log entry Error verbosity Warning verbosity Info verbosity Info verbosity Info verbosity Base interface for logging functionality Begin logging scope End logging scope Log message entry verbosity the message to log Create a ILogger object The Microsoft.Extensions.Logging.ILogger to wrap The ILogger Information needed to create a process Common configs for processes to run MSVC based compiler Clang based compiler The path to the application binary The working directory The command line arguments A text description of the process Which configuration to use The process priority of the created process Threshold in which to report output stats If input should be tracked A path to a log file, or null for not log file Arbitary user data to pass along with the process Base interface for process start info Create a IProcessStartInfo object The start info for the process Set to true if exit callback is used The IProcessStartInfo Event args for exited event Process exit code The remote host that ran the process, if run remotely Captured output lines Total time spent for the processor Total wall time spent Total wall time spent Constructor The process to pull data from Interface for a process instance Delegate for Exited events The sender object The event args Exited event handler Process exit code The remote host that ran the process, if run remotely Captured output lines Total time spent for the processor Total wall time spent Unique hash for this process (not stable between runs) Arbitary user data Cancel the running process If the process should be force terminated Create a IProcess object unmanaged pointer to the process the processes start info Optional callback when the process exits Arbitary user data The IProcess Base interface for a server instance Start the server Ip address or host name The port to use, -1 for default Enable crypto by using a 32 character crypto string (representing a 16 byte value) Stop the server Add a named connection to the server The name of the connection Success Adds a client that server will try to connect one or more tcp connections to The ip of the listening client The port of the listening client Enable crypto by using a 32 character crypto string (representing a 16 byte value) Success Create a IServer object Maximum number of workers Send size in bytes The logger Use Quic protocol instead of tcp for communication between host and helpers The IServer Information needed to create a session server Root directory to store content addressable data Path to a trace file that records the build If the custom allocator should be disabled If the visualizer should be launched If the content addressable storage should be reset If intermediate/output files should be written to disk More detailed trace information Wait for memory before starting new processes Kill processes when close to run out of memory Store .obj files compressed on disk Constructor Root directory to store content addressable data Path to a trace file that records the build If the custom allocator should be disabled If the visualizer should be launched If the content addressable storage should be reset If intermediate/output files should be written to disk More detailed trace information Wait for memory before starting new processes Kill processes when close to run out of memory Store .obj files compressed on disk Base interface for session server create info Create a ISessionServerCreateInfo object The storage server The client The logger The session create info The ISessionServerCreateInfo Event args for remote process slot available event Event args for remote process returned event Constructor The process being returned The remote process that was returned Base interface for a session server instance Degeate for remote process slot available events The sender object The event args Degeate for remote process returned events The sender object The event args Remote process slot available event handler Remote process returned event handler Will tell all remote machines that they can disconnect once their active processes are done Will also stop listening for new remote machines Set max number of processes that can be executed remotely. Setting this can let the backend disconnect remote workers earlier Run a local process Process start info If the process should be run async Optional callback when the process exits Should be true unless process does not work being detoured (And in that case we need to manually register file system changes) The process being run Run a remote process Process start info Optional callback when the process exits Number of cores this process uses Optionally contains input that we know process will need. Memory block containing zero-terminated strings with an extra termination in the end. Number of strings in known inputs The remote process being run Refresh cached information about directories The directories to refresh Registers external files write to session caches The files to register Registers the start of an external process The description of the process The process id that should be sent into EndExternalProcess Registers the end of an external process The id returned by BeginExternalProcess The exit code of the external process Writes external status to the uba trace stream which can then be visualized by ubavisualizer Total processes in session Processes done in session Number of errors in session Writes external status to the uba trace stream which can then be visualized by ubavisualizer Row of status text. Reuse one index to show one line in visualizer The identation of status name that will be shown in visualizer The status text that will be shown in visualizer The status type Optional hyperlink that can be used to make text clickable in visualizer Set a custom cas key for a process's tracked inputs The file to track The working directory The process to get tracked inputs from Cancel all processes Print summary information to the logger Create a ISessionServer object The session server create info The ISessionServer Information needed to create a storage server The root directory for the storage The capacity of the storage in bytes If the storage should be stored as compressed The geographical zone this machine belongs to. Can be empty Constructor The root directory for the storage The capacity of the storage in bytes If the storage should be stored as compressed The geographical zone this machine belongs to. Can be empty Base interface for a storage server instance Save tge content addressabale storage table Register disallowed paths for clients to download Create a IStorageServer object The server The logger The storage create info The IStorageServer Threaded logging for use by UBAExecutor Constructor The logger Destructor Protected dispose Finish logging async Utils Is UBA available? Paths that are not allowed to be transferred over the network for UBA remote agents. enumerable of disallowed paths Registers a path that is not allowed to be transferred over the network for UBA remote agents. The paths to add to thie disallowed list Get the path to the p/invoke library that would be loaded The path to the library If the operating system is not supported