pub struct MemberSpec {
pub path: String,
pub kind: MemberKind,
pub framing: MemberFraming,
pub pg: Option<PgMemberInfo>,
}Expand description
The upfront-knowable identity of a bundle member — what the v2/v3 MANIFEST lists, in restore
order. Carries no size/SHA (those travel in the member’s MemberMeta sidecar or
MemberTrailer), so the MANIFEST can be written before any member is produced.
Fields§
§path: StringThe member’s tar-entry path (relative, no traversal).
kind: MemberKindWhich engine produced it.
framing: MemberFramingHow the member’s bytes are framed (v3). Absent in a v2 manifest ⇒ MemberFraming::Sidecar
(#[serde(default)]), which is what makes a v2 bundle deserialize into a v3 reader for free;
a Sidecar member is omitted from a serialized manifest (skip_serializing_if) so a
no-chunked (v2) bundle’s manifest is byte-identical to the pre-v3 form.
pg: Option<PgMemberInfo>Postgres/MySQL provenance (only for PgDump/MysqlDump members).
Implementations§
Source§impl MemberSpec
impl MemberSpec
Sourcepub fn sidecar(path: String, kind: MemberKind, pg: Option<PgMemberInfo>) -> Self
pub fn sidecar(path: String, kind: MemberKind, pg: Option<PgMemberInfo>) -> Self
A Sidecar-framed member spec (the common case; v2 shape).
Sourcepub fn chunked(path: String, kind: MemberKind, pg: Option<PgMemberInfo>) -> Self
pub fn chunked(path: String, kind: MemberKind, pg: Option<PgMemberInfo>) -> Self
A ChunkedTrailer-framed member spec (a large/streamed member; v3 shape).
Trait Implementations§
Source§impl Clone for MemberSpec
impl Clone for MemberSpec
Source§impl Debug for MemberSpec
impl Debug for MemberSpec
Source§impl<'de> Deserialize<'de> for MemberSpec
impl<'de> Deserialize<'de> for MemberSpec
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 MemberSpec
Source§impl PartialEq for MemberSpec
impl PartialEq for MemberSpec
Source§impl Serialize for MemberSpec
impl Serialize for MemberSpec
impl StructuralPartialEq for MemberSpec
Auto Trait Implementations§
impl Freeze for MemberSpec
impl RefUnwindSafe for MemberSpec
impl Send for MemberSpec
impl Sync for MemberSpec
impl Unpin for MemberSpec
impl UnsafeUnpin for MemberSpec
impl UnwindSafe for MemberSpec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.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