Struct File

Source
pub struct File;
Expand description

The type corresponding to the File protocol. A Node which contains a sequence of bytes of definite length.

NOTE: cloned connections do not share their seek offset with their source connection.

Trait Implementations§

Source§

impl<___T, ___H> ClientProtocol<___T, ___H> for File
where ___T: Transport, ___H: FileClientHandler<___T>, <AdvisoryLock as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <LinkInto as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Close as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Query as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <OnOpen as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetAttr as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <SetAttr as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <DeprecatedGetFlags as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <DeprecatedSetFlags as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetFlags as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <SetFlags as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <QueryFilesystem as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <OnRepresentation as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetConnectionInfo as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetAttributes as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <UpdateAttributes as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Sync as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetExtendedAttribute as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <SetExtendedAttribute as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <RemoveExtendedAttribute as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Read as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Write as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Describe as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Seek as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <ReadAt as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <WriteAt as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Resize as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetBackingMemory as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <Allocate as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <EnableVerity as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,

Source§

fn on_event( handler: &mut ___H, sender: &ClientSender<___T, Self>, ordinal: u64, buffer: ___T::RecvBuffer, )

Handles a received client event with the given handler.
Source§

impl Debug for File

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Discoverable for File

Source§

const PROTOCOL_NAME: &'static str = "file"

The service name to use to connect to this discoverable protocol.
Source§

impl<___T, ___H> ServerProtocol<___T, ___H> for File
where ___T: Transport, ___H: FileServerHandler<___T>, WireAdvisoryLockingAdvisoryLockRequest: Decode<<___T as Transport>::RecvBuffer>, WireLinkableLinkIntoRequest: Decode<<___T as Transport>::RecvBuffer>, WireCloneableCloneRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeDeprecatedCloneRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeSetAttrRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeDeprecatedSetFlagsRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeSetFlagsRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeGetAttributesRequest: Decode<<___T as Transport>::RecvBuffer>, WireMutableNodeAttributes: Decode<<___T as Transport>::RecvBuffer>, WireNodeListExtendedAttributesRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeGetExtendedAttributeRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeSetExtendedAttributeRequest: Decode<<___T as Transport>::RecvBuffer>, WireNodeRemoveExtendedAttributeRequest: Decode<<___T as Transport>::RecvBuffer>, WireReadableReadRequest: Decode<<___T as Transport>::RecvBuffer>, WireWritableWriteRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileSeekRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileReadAtRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileWriteAtRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileResizeRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileGetBackingMemoryRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileAllocateRequest: Decode<<___T as Transport>::RecvBuffer>, WireFileEnableVerityRequest: Decode<<___T as Transport>::RecvBuffer>,

Source§

fn on_one_way( handler: &mut ___H, sender: &ServerSender<___T, Self>, ordinal: u64, buffer: ___T::RecvBuffer, )

Handles a received server one-way message with the given handler.
Source§

fn on_two_way( handler: &mut ___H, sender: &ServerSender<___T, Self>, ordinal: u64, buffer: ___T::RecvBuffer, responder: Responder, )

Handles a received server two-way message with the given handler.
Source§

impl TakeFrom<File> for FileMarker

Source§

fn take_from(from: &File) -> Self

Converts from the given T, taking any resources that can’t be cloned.
§

const COPY_OPTIMIZATION: CopyOptimization<Self> = _

An optimization flag that allows the bytes of this type to be copied directly during conversion instead of calling take_from. Read more

Auto Trait Implementations§

§

impl Freeze for File

§

impl RefUnwindSafe for File

§

impl Send for File

§

impl Sync for File

§

impl Unpin for File

§

impl UnwindSafe for File

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.