pub struct FileAttachment {
pub id: String,
pub name: String,
pub content_type: String,
pub data: Bytes,
}Expand description
Binary attachment carried alongside JSON params or event data.
In protocol v3 the attachment payload is stored as raw bytes in a binary section appended after the JSON metadata, eliminating the 33% overhead of Base64 encoding used in protocol v1.
The payload uses Bytes (reference-counted, immutable) so that cloning
an attachment — e.g. during ECDH broadcasts — is a cheap refcount bump
rather than a deep copy of the entire buffer.
Fields§
§id: StringAttachment identifier referenced from JSON using { "$file": "..." }.
name: StringOriginal file name.
content_type: StringMIME type supplied by the sender.
data: BytesRaw attachment payload bytes (zero-copy shared via Bytes).
Implementations§
Source§impl FileAttachment
impl FileAttachment
Sourcepub fn inline_text(
id: impl Into<String>,
name: impl Into<String>,
content_type: impl Into<String>,
text: impl AsRef<str>,
) -> Self
pub fn inline_text( id: impl Into<String>, name: impl Into<String>, content_type: impl Into<String>, text: impl AsRef<str>, ) -> Self
Builds a text attachment from a string.
Trait Implementations§
Source§impl Clone for FileAttachment
impl Clone for FileAttachment
Source§fn clone(&self) -> FileAttachment
fn clone(&self) -> FileAttachment
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FileAttachment
impl Debug for FileAttachment
Source§impl<'de> Deserialize<'de> for FileAttachment
impl<'de> Deserialize<'de> for FileAttachment
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !Freeze for FileAttachment
impl RefUnwindSafe for FileAttachment
impl Send for FileAttachment
impl Sync for FileAttachment
impl Unpin for FileAttachment
impl UnsafeUnpin for FileAttachment
impl UnwindSafe for FileAttachment
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