pub struct VirtualChunkLocation(/* private fields */);Implementations§
Source§impl VirtualChunkLocation
impl VirtualChunkLocation
pub fn url(&self) -> &str
Sourcepub fn is_relative(&self) -> bool
pub fn is_relative(&self) -> bool
Returns true if this is a relative vcc:// location.
Sourcepub fn parse_vcc(&self) -> Option<(&str, &str)>
pub fn parse_vcc(&self) -> Option<(&str, &str)>
If this is a vcc://name/path location, returns (name, relative_path).
Sourcepub fn from_vcc_path(
container_name: &str,
relative_path: &str,
) -> Result<VirtualChunkLocation, VirtualReferenceError>
pub fn from_vcc_path( container_name: &str, relative_path: &str, ) -> Result<VirtualChunkLocation, VirtualReferenceError>
Creates a relative location from a VCC name and a path relative to its prefix.
Sourcepub fn from_url(
path: &str,
) -> Result<VirtualChunkLocation, VirtualReferenceError>
pub fn from_url( path: &str, ) -> Result<VirtualChunkLocation, VirtualReferenceError>
Parse a virtual chunk location from a URL string.
path is a URL: an absolute location (s3://, gs://, file://,
https://, …) or a vcc://name/relative reference into a named container.
For object-store schemes the object key is the URL’s path and is kept
verbatim — repeated slashes (//) and ./.. segments are preserved,
not normalized, so the reference always addresses the exact object. Because
the input is a URL, any character that is reserved in a URL and is meant to
be part of the key must be percent-encoded. In particular ? and # start
the URL query and fragment, so a key that literally contains them (or a
literal %) must be encoded: the key a?b#c is the URL
s3://bucket/a%3Fb%23c, and a literal % is written %25. A query or
fragment, if present, is preserved in the stored location but is not part
of the object key.
file:// is the exception: its path is WHATWG-normalized (resolving
./..), which is required so a reference cannot escape its container.
Trait Implementations§
Source§impl Clone for VirtualChunkLocation
impl Clone for VirtualChunkLocation
Source§fn clone(&self) -> VirtualChunkLocation
fn clone(&self) -> VirtualChunkLocation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VirtualChunkLocation
impl Debug for VirtualChunkLocation
Source§impl<'de> Deserialize<'de> for VirtualChunkLocation
impl<'de> Deserialize<'de> for VirtualChunkLocation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for VirtualChunkLocation
Source§impl Hash for VirtualChunkLocation
impl Hash for VirtualChunkLocation
Source§impl Ord for VirtualChunkLocation
impl Ord for VirtualChunkLocation
Source§fn cmp(&self, other: &VirtualChunkLocation) -> Ordering
fn cmp(&self, other: &VirtualChunkLocation) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for VirtualChunkLocation
impl PartialEq for VirtualChunkLocation
Source§fn eq(&self, other: &VirtualChunkLocation) -> bool
fn eq(&self, other: &VirtualChunkLocation) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for VirtualChunkLocation
impl PartialOrd for VirtualChunkLocation
Source§impl Serialize for VirtualChunkLocation
impl Serialize for VirtualChunkLocation
impl StructuralPartialEq for VirtualChunkLocation
Auto Trait Implementations§
impl Freeze for VirtualChunkLocation
impl RefUnwindSafe for VirtualChunkLocation
impl Send for VirtualChunkLocation
impl Sync for VirtualChunkLocation
impl Unpin for VirtualChunkLocation
impl UnsafeUnpin for VirtualChunkLocation
impl UnwindSafe for VirtualChunkLocation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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