pub struct AdvisoryLockingProxy { /* private fields */ }
Implementations§
Source§impl AdvisoryLockingProxy
impl AdvisoryLockingProxy
Sourcepub fn take_event_stream(&self) -> AdvisoryLockingEventStream
pub fn take_event_stream(&self) -> AdvisoryLockingEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn advisory_lock(
&self,
request: &AdvisoryLockRequest,
) -> QueryResponseFut<AdvisoryLockingAdvisoryLockResult, DefaultFuchsiaResourceDialect>
pub fn advisory_lock( &self, request: &AdvisoryLockRequest, ) -> QueryResponseFut<AdvisoryLockingAdvisoryLockResult, DefaultFuchsiaResourceDialect>
Acquires an advisory lock on the underlying file.
The lock lasts until either this connection is closed or this method is called with |AdvisoryLockType.UNLOCK| to release the lock explicitly.
Advisory locks are purely advisory. They do not prevent actual read or write operations from occurring on the file, either through this connection or through other connections.
This method requires the following rights:
- [
Rights.READ_BYTES
] ifrequest.type
is [AdvisoryLockType.READ
]. - [
Rights.WRITE_BYTES
] ifrequest.type
is [AdvisoryLockType.WRITE
].
§Errors
ZX_ERR_BAD_STATE
The specified type of lock cannot be acquired. For example, another connection might hold a conflicting lock type.ZX_ERR_NOT_SUPPORTED
This file does not support advisory locking.ZX_ERR_ACCESS_DENIED
This connection does not have sufficient rights to acquire the given type of lock.
Trait Implementations§
Source§impl AdvisoryLockingProxyInterface for AdvisoryLockingProxy
impl AdvisoryLockingProxyInterface for AdvisoryLockingProxy
type AdvisoryLockResponseFut = QueryResponseFut<Result<(), i32>>
fn advisory_lock( &self, request: &AdvisoryLockRequest, ) -> Self::AdvisoryLockResponseFut
Source§impl Clone for AdvisoryLockingProxy
impl Clone for AdvisoryLockingProxy
Source§fn clone(&self) -> AdvisoryLockingProxy
fn clone(&self) -> AdvisoryLockingProxy
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 AdvisoryLockingProxy
impl Debug for AdvisoryLockingProxy
Source§impl Proxy for AdvisoryLockingProxy
impl Proxy for AdvisoryLockingProxy
Source§type Protocol = AdvisoryLockingMarker
type Protocol = AdvisoryLockingMarker
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
Auto Trait Implementations§
impl Freeze for AdvisoryLockingProxy
impl !RefUnwindSafe for AdvisoryLockingProxy
impl Send for AdvisoryLockingProxy
impl Sync for AdvisoryLockingProxy
impl Unpin for AdvisoryLockingProxy
impl !UnwindSafe for AdvisoryLockingProxy
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
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.