Skip to content

ludus::tooling::shader_compiler::Client

Ludus Wiki · API overview · Browse API

Class

Headless Linux/macOS IPC client. No Slang library is linked into this target. Not thread-safe; Submit copies its snapshot, Poll never waits for compiler completion. Callers keep drawing their active generation until a Ready result is validated and staged.

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

#include <ludus/tooling/shader_compiler/compiler.hpp>
class ludus::tooling::shader_compiler::Client final

Methods

Client

ludus::tooling::shader_compiler::Client::Client() noexcept
Construct an idle client.

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

~Client

ludus::tooling::shader_compiler::Client::~Client() noexcept
Cancel pending I/O and release owned buffers.

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

Client

ludus::tooling::shader_compiler::Client::Client(const Client &)=delete
Transport ownership is unique.

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

operator=

Client & ludus::tooling::shader_compiler::Client::operator=(const Client &)=delete
Transport ownership is unique.

Related types: Client

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

Submit

Status ludus::tooling::shader_compiler::Client::Submit(foundation::BorrowedView< const char > endpoint, const Request &request) noexcept
Connect to an existing worker's private Unix socket and enqueue one copied request.
ParameterDescription
endpoint
Native socket pathname, without NUL, shorter than the platform socket limit.
request
Complete source snapshot and identity; copied before Submit returns.

Returns

Pending on admission; InvalidState when another request is active.

Related types: foundation::BorrowedView · Status · Request

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

Poll

Status ludus::tooling::shader_compiler::Client::Poll(Result &outResult) noexcept
Advance nonblocking I/O. Pending preserves outResult; completion replaces it and returns idle.

Related types: Status · Result

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp

Cancel

void ludus::tooling::shader_compiler::Client::Cancel() noexcept
Discard pending work locally. The worker may finish it, but its result cannot publish here.

Declared in modules/tooling/shader_compiler/include/ludus/tooling/shader_compiler/compiler.hpp