pub struct WritableSynchronousProxy { /* private fields */ }
Implementations§
Source§impl WritableSynchronousProxy
impl WritableSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<WritableEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<WritableEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn write(
&self,
data: &[u8],
___deadline: MonotonicInstant,
) -> Result<WritableWriteResult, Error>
pub fn write( &self, data: &[u8], ___deadline: MonotonicInstant, ) -> Result<WritableWriteResult, Error>
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 Debug for WritableSynchronousProxy
impl Debug for WritableSynchronousProxy
Source§impl SynchronousProxy for WritableSynchronousProxy
impl SynchronousProxy for WritableSynchronousProxy
Source§type Proxy = WritableProxy
type Proxy = WritableProxy
The async proxy for the same protocol.
Source§type Protocol = WritableMarker
type Protocol = WritableMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Channel
fn into_channel(self) -> Channel
Convert the proxy back into a channel.
Source§fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Get a reference to the proxy’s underlying channel. Read more
Auto Trait Implementations§
impl Freeze for WritableSynchronousProxy
impl RefUnwindSafe for WritableSynchronousProxy
impl Send for WritableSynchronousProxy
impl Sync for WritableSynchronousProxy
impl Unpin for WritableSynchronousProxy
impl UnwindSafe for WritableSynchronousProxy
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