Struct fidl_fuchsia_io::WritableProxy
source · pub struct WritableProxy { /* private fields */ }
Implementations§
source§impl WritableProxy
impl WritableProxy
sourcepub fn take_event_stream(&self) -> WritableEventStream
pub fn take_event_stream(&self) -> WritableEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
sourcepub fn write(
&self,
data: &[u8],
) -> QueryResponseFut<WritableWriteResult, DefaultFuchsiaResourceDialect>
pub fn write( &self, data: &[u8], ) -> QueryResponseFut<WritableWriteResult, DefaultFuchsiaResourceDialect>
Writes data at the seek offset. The seek offset is moved forward by the number of bytes written. If the file is in append mode, the seek offset is first set to the end of the file, followed by the write, in one atomic step.
The file size may grow if the seek offset plus data.length
is beyond
the current end of file.
- request
data
the byte buffer to write to the file.
- response
actual_count
the number of bytes written.
§Invariants
- The returned
actual_count
will never be greater thandata.length
. - If the server is unable to write all the data due to e.g. not enough
space,
actual_count
may be less thandata.length
. If no bytes could be written, an error is returned. - If
data.length
is zero, the server should perform all the checks ensuring write access without mutating the file and return a successful write of zero bytes. The seek offset is still updated if in append mode.
This method requires the [Rights.WRITE_BYTES
] right.
Trait Implementations§
source§impl Clone for WritableProxy
impl Clone for WritableProxy
source§fn clone(&self) -> WritableProxy
fn clone(&self) -> WritableProxy
Returns a copy of the value. Read more
1.0.0 · 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 WritableProxy
impl Debug for WritableProxy
source§impl Proxy for WritableProxy
impl Proxy for WritableProxy
§type Protocol = WritableMarker
type Protocol = WritableMarker
The protocol which this
Proxy
controls.source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end. Read more
source§impl WritableProxyInterface for WritableProxy
impl WritableProxyInterface for WritableProxy
type WriteResponseFut = QueryResponseFut<Result<u64, i32>>
fn write(&self, data: &[u8]) -> Self::WriteResponseFut
Auto Trait Implementations§
impl Freeze for WritableProxy
impl !RefUnwindSafe for WritableProxy
impl Send for WritableProxy
impl Sync for WritableProxy
impl Unpin for WritableProxy
impl !UnwindSafe for WritableProxy
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§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>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.