Engine Command#

struct EngineCommand#

One instruction posted to the actor.

Commands are heap-allocated by the producer and normally destroyed by the actor. That hand-off needs no protection because there is exactly one consumer, and it keeps the ring’s cells small: the request payload never moves through the ring itself. See CommandQueue for the two paths that destroy a command somewhere other than the actor.

Public Members

CommandType type = {CommandType::kSubmit}#
RequestId requestId = {kInvalidRequestId}#

kSubmit only. Unset for kShutdown. (Cancellation does not travel as a command: it is a flag planted on the record, see EngineChannel::cancelRecord.)

std::unique_ptr<LLMGenerationRequest> request#

kSubmit only. Owned; the actor takes it when the request is admitted.

std::shared_ptr<RequestRecord> record#

kSubmit only. Shared with the RequestHandle the caller already holds, so the actor can publish an outcome even if the caller drops the handle mid-flight.