Skip to main content

ValidatedProviderLink

Struct ValidatedProviderLink 

Source
pub struct ValidatedProviderLink<'storage, 'endpoint> { /* private fields */ }
Expand description

Cleanup-owning operation-bound provider pagination link.

Exact validated origin-form path/query bytes are copied without decoding, re-encoding, reordering, or conversion into a structured query. This type is intentionally neither Copy nor Clone.

use cloud_sdk::pagination::ValidatedProviderLink;
fn require_copy<T: Copy>() {}
require_copy::<ValidatedProviderLink<'static, 'static>>();
use cloud_sdk::pagination::ValidatedProviderLink;
use cloud_sdk::transport::RequestQuery;

fn into_structured<'a>(link: ValidatedProviderLink<'a, 'a>) -> RequestQuery<'a> {
    link.into()
}

Implementations§

Source§

impl<'storage, 'endpoint> ValidatedProviderLink<'storage, 'endpoint>

Source

pub fn transfer_from( source: &mut [u8], destination: &'storage mut [u8], binding: ProviderLinkBinding<'endpoint>, limits: PaginationLimits, ) -> Result<Self, PaginationError>

Atomically validates and transfers an absolute or origin-form link.

Source and complete destination storage are cleared on every failure; source is also cleared after successful transfer. Absolute links must match the exact bound scheme and authority. The resulting target must match the exact operation path.

Source

pub fn execute_blocking<T>( &self, transport: &T, method: Method, operation: OperationId, authentication: AuthenticationScopePolicy<'_>, response_policy: RawResponsePolicy<'_>, response: &mut ResponseWriter<'_>, ) -> Result<(), ProviderLinkExecutionError<T::Error>>

Validates and executes one authenticated blocking continuation request.

Endpoint verification and execution use the same transport object, so callers cannot separate the destination check from request dispatch.

Source

pub async fn execute_async<'transport, 'request, 'policy, 'writer, T>( &'request self, transport: &'transport T, method: Method, operation: OperationId, authentication: AuthenticationScopePolicy<'policy>, response_policy: RawResponsePolicy<'policy>, response: &'writer mut ResponseWriter<'_>, ) -> Result<(), ProviderLinkExecutionError<T::Error>>
where T: BoundTransport + AsyncAuthenticatedTransport, 'transport: 'writer, 'request: 'writer, 'policy: 'writer,

Validates and executes one authenticated asynchronous continuation request.

Endpoint verification and execution use the same transport object. The returned future remains executor-neutral and borrows the link state until the transport attempt completes or is cancelled.

Trait Implementations§

Source§

impl Debug for ValidatedProviderLink<'_, '_>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Drop for ValidatedProviderLink<'_, '_>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<'storage, 'endpoint> !UnwindSafe for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> Freeze for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> RefUnwindSafe for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> Send for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> Sync for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> Unpin for ValidatedProviderLink<'storage, 'endpoint>

§

impl<'storage, 'endpoint> UnsafeUnpin for ValidatedProviderLink<'storage, 'endpoint>

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.