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>
impl<'storage, 'endpoint> ValidatedProviderLink<'storage, 'endpoint>
Sourcepub fn transfer_from(
source: &mut [u8],
destination: &'storage mut [u8],
binding: ProviderLinkBinding<'endpoint>,
limits: PaginationLimits,
) -> Result<Self, PaginationError>
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.
Sourcepub fn execute_blocking<T>(
&self,
transport: &T,
method: Method,
operation: OperationId,
authentication: AuthenticationScopePolicy<'_>,
response_policy: RawResponsePolicy<'_>,
response: &mut ResponseWriter<'_>,
) -> Result<(), ProviderLinkExecutionError<T::Error>>where
T: BoundTransport + BlockingAuthenticatedTransport,
pub fn execute_blocking<T>(
&self,
transport: &T,
method: Method,
operation: OperationId,
authentication: AuthenticationScopePolicy<'_>,
response_policy: RawResponsePolicy<'_>,
response: &mut ResponseWriter<'_>,
) -> Result<(), ProviderLinkExecutionError<T::Error>>where
T: BoundTransport + BlockingAuthenticatedTransport,
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.
Sourcepub 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,
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.