pub enum ArtifactMsg {
MetaRequest {
key: ArtifactKey,
},
Announce {
id: ArtifactId,
have: Bitfield,
},
Request {
id: ArtifactId,
pieces: Vec<u32>,
},
Meta {
descriptor: ArtifactDescriptor,
},
Piece {
id: ArtifactId,
index: u32,
offset: u64,
data: Vec<u8>,
},
NoPiece {
id: ArtifactId,
index: u32,
},
Reject {
key: ArtifactKey,
reason: String,
},
}Expand description
One artifact-protocol message.
Variants§
MetaRequest
0x0B: ask a peer for an artifact’s descriptor and its have.
Fields
§
key: ArtifactKeyWhat is wanted.
Announce
0x0B: the pieces the sender holds, verified.
Request
0x0B: ask for pieces by index.
Meta
0x0C: the descriptor.
Fields
§
descriptor: ArtifactDescriptorPiece list.
Piece
0x0C: one block of piece data.
Fields
§
id: ArtifactIdArtifact.
NoPiece
0x0C: the sender cannot supply this piece.
Reject
0x0C: the request is refused (unknown, or not servable).
Implementations§
Source§impl ArtifactMsg
impl ArtifactMsg
Sourcepub fn frame_type(&self) -> FrameType
pub fn frame_type(&self) -> FrameType
Frame type this message travels in.
Sourcepub fn to_frame(&self) -> Result<MeshFrame, WireError>
pub fn to_frame(&self) -> Result<MeshFrame, WireError>
Encode to a MeshFrame, refusing payloads over the cap.
Sourcepub fn to_wire(&self) -> Result<Vec<u8>, WireError>
pub fn to_wire(&self) -> Result<Vec<u8>, WireError>
Encode to stream bytes: [4-byte len][type][payload].
Trait Implementations§
Source§impl Clone for ArtifactMsg
impl Clone for ArtifactMsg
Source§impl Debug for ArtifactMsg
impl Debug for ArtifactMsg
impl Eq for ArtifactMsg
Source§impl PartialEq for ArtifactMsg
impl PartialEq for ArtifactMsg
impl StructuralPartialEq for ArtifactMsg
Auto Trait Implementations§
impl Freeze for ArtifactMsg
impl RefUnwindSafe for ArtifactMsg
impl Send for ArtifactMsg
impl Sync for ArtifactMsg
impl Unpin for ArtifactMsg
impl UnsafeUnpin for ArtifactMsg
impl UnwindSafe for ArtifactMsg
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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§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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
Converts
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> ⓘ
Converts
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