pub struct RequestMeta<'a> {
pub request_id: &'a str,
pub tenant: &'a str,
pub principal: Option<&'a str>,
pub model: &'a str,
pub route: &'static str,
pub lane: &'static str,
pub stream: bool,
pub max_tokens: Option<u64>,
pub reserved_ctx: Option<u64>,
}Expand description
The request identity a receipt is opened with. All borrowed: this is a view of
state the handler already owns, taken for the duration of one open call.
Fields§
§request_id: &'a str§tenant: &'a str§principal: Option<&'a str>The authenticated key’s non-secret identification prefix, when the request carries per-key identity (multi-key ring). What per-PRINCIPAL policy means — spend caps, quotas — is the implementation’s business.
model: &'a str§route: &'static str§lane: &'static str§stream: bool§max_tokens: Option<u64>The request’s EFFECTIVE completion-token bound at receipt time: the caller’s
max_tokens, or the model-default/max_output it resolved to
(apply_model_request_limits); None when no bound resolved (context-bounded
generation). D2 gap G4 (darklanes research/d2-shadow-20260831/RESULTS.md):
the ledger row carries this so live-shadow replay reads the real bound instead
of recovering it by inverting the billing reservation. An implementation with a
positional row format appends this as a NEW trailing column (column order in an
existing ledger is an API, so the discipline is append-only).
reserved_ctx: Option<u64>The context reservation the budget admission charged for this request:
prompt_tokens + completion bound, in tokens (the same quantities handed to
Metering::reserve). None when no reservation ran (limits not enforced, or
the receipt records a pre-reservation rejection). Same G4 append-only column
rule as max_tokens.
Auto Trait Implementations§
impl<'a> Freeze for RequestMeta<'a>
impl<'a> RefUnwindSafe for RequestMeta<'a>
impl<'a> Send for RequestMeta<'a>
impl<'a> Sync for RequestMeta<'a>
impl<'a> Unpin for RequestMeta<'a>
impl<'a> UnsafeUnpin for RequestMeta<'a>
impl<'a> UnwindSafe for RequestMeta<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more