pub struct PutLayerReply {
pub layer_verity: String,
pub already_present: bool,
pub objects_reflinked: u64,
pub objects_hardlinked: u64,
pub objects_copied: u64,
pub objects_already_present: u64,
}Expand description
Reply from PutLayer: the verity hash of the imported layer, whether
it was already present, and per-object transfer statistics.
The object-count fields let the client verify that zero-copy transfer
actually took place (e.g. assert objects_reflinked > 0 in tests) and
accumulate aggregate stats for user-facing output.
Fields§
§layer_verity: StringHex-encoded fs-verity hash of the committed layer splitstream.
already_present: booltrue if the layer was already present before this call.
The server always drains the pipe regardless (to avoid wedging the client’s writer), so the stream is re-imported idempotently.
objects_reflinked: u64Number of objects that were reflinked (FICLONE) into the destination. Non-zero only when source and dest share a filesystem.
objects_hardlinked: u64Number of objects hardlinked into the destination (zerocopy mode).
objects_copied: u64Number of objects byte-copied into the destination.
objects_already_present: u64Number of objects already present in the destination (skipped).
Trait Implementations§
Source§impl Clone for PutLayerReply
impl Clone for PutLayerReply
Source§fn clone(&self) -> PutLayerReply
fn clone(&self) -> PutLayerReply
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 PutLayerReply
impl Debug for PutLayerReply
Source§impl<'de> Deserialize<'de> for PutLayerReply
impl<'de> Deserialize<'de> for PutLayerReply
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>,
Source§impl Serialize for PutLayerReply
impl Serialize for PutLayerReply
Auto Trait Implementations§
impl Freeze for PutLayerReply
impl RefUnwindSafe for PutLayerReply
impl Send for PutLayerReply
impl Sync for PutLayerReply
impl Unpin for PutLayerReply
impl UnsafeUnpin for PutLayerReply
impl UnwindSafe for PutLayerReply
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<S> CanonJsonSerialize for Swhere
S: Serialize,
impl<S> CanonJsonSerialize for Swhere
S: Serialize,
§fn to_canon_json_writer<W>(&self, writer: W) -> Result<(), Error>where
W: Write,
fn to_canon_json_writer<W>(&self, writer: W) -> Result<(), Error>where
W: Write,
§fn to_canon_json_vec(&self) -> Result<Vec<u8>, Error>
fn to_canon_json_vec(&self) -> Result<Vec<u8>, Error>
§fn to_canon_json_string(&self) -> Result<String, Error>
fn to_canon_json_string(&self) -> Result<String, Error>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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