Skip to main content

BackendRequest

Struct BackendRequest 

Source
pub struct BackendRequest<'a> { /* private fields */ }
Expand description

A portable command and effective policy submitted for backend preflight.

The request borrows the already validated values. It cannot be constructed from a raw cageforge_policy::SandboxPolicy, which keeps composition a mandatory boundary for native execution.

Implementations§

Source§

impl<'a> BackendRequest<'a>

Source

pub const fn new( command: &'a CommandRequest, sandbox: &'a EffectiveSandbox, ) -> Self

Creates a backend request from a command and composed sandbox.

Source

pub const fn command(&self) -> &'a CommandRequest

Returns the command intent.

Source

pub const fn sandbox(&self) -> &'a EffectiveSandbox

Returns the effective sandbox constraint.

Source

pub fn prepare_for<B: SandboxBackend>( self, backend: &B, base_context: &PathResolutionContext, ) -> Result<PreparedBackendRequest<'a, B>, BackendContractError>

Performs common preflight using exactly the capabilities advertised by backend and the backend’s runtime path context.

This is the safe handoff entry point for native integrations. The capability check is defined by Cageforge and cannot be overridden by a backend implementation. The context is narrowed before return, and an effective working directory must be supplied by the runtime context and permitted by the effective filesystem policy. The returned value is bound to B, so a handoff prepared for one backend type cannot be passed to a native lowering method for another backend type by accident.

Source

pub fn required_capabilities(&self) -> BackendCapabilities

Computes the capabilities required by this request.

Trait Implementations§

Source§

impl<'a> Clone for BackendRequest<'a>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for BackendRequest<'a>

Source§

impl<'a> Debug for BackendRequest<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for BackendRequest<'a>

§

impl<'a> RefUnwindSafe for BackendRequest<'a>

§

impl<'a> Send for BackendRequest<'a>

§

impl<'a> Sync for BackendRequest<'a>

§

impl<'a> Unpin for BackendRequest<'a>

§

impl<'a> UnsafeUnpin for BackendRequest<'a>

§

impl<'a> UnwindSafe for BackendRequest<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.