pub struct LinkableSynchronousProxy { /* private fields */ }
Implementations§
Source§impl LinkableSynchronousProxy
impl LinkableSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<LinkableEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<LinkableEvent, 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 link_into(
&self,
dst_parent_token: Event,
dst: &str,
___deadline: MonotonicInstant,
) -> Result<LinkableLinkIntoResult, Error>
pub fn link_into( &self, dst_parent_token: Event, dst: &str, ___deadline: MonotonicInstant, ) -> Result<LinkableLinkIntoResult, Error>
Creates a link to this this object with name dst
in the directory represented by
dst_parent_token
.
dst
must be a resolved object name. Including “/” in the string will return
ZX_ERR_INVALID_ARGS
.
This method requires the maximal set of rights supported by the filesystem for this object.
For files this would typically be [Rights.READ_BYTES
], [Rights.WRITE_BYTES
],
[Rights.GET_ATTRIBUTES
] and [Rights.UPDATE_ATTRIBUTES
]. Some filesystems might also
support the [Rights.EXECUTE
] right. Insufficient rights will result in
ZX_ERR_ACCESS_DENIED
.
If this object has no links and is NOT an unnamed temporary object (objects opened with
Flags.FLAG_CREATE_AS_UNNAMED_TEMPORARY
), it will fail with ZX_ERR_NOT_FOUND
.
For unnamed temporary objects, use LinkInto to give it a name. Upon successful completion,
the object will be permanently linked to the filesystem. Requires that the unnamed temporary
object is linkable, if not, it will fail with ZX_ERR_NOT_FOUND
.
This method does not have the same atomicity properties has the Directory::Link
method,
which means that calling Open
then LinkInto
is not equivalent to Directory::Link
because LinkInto
will not prevent the source from being renamed or unlinked.
Trait Implementations§
Source§impl Debug for LinkableSynchronousProxy
impl Debug for LinkableSynchronousProxy
Source§impl From<Channel> for LinkableSynchronousProxy
impl From<Channel> for LinkableSynchronousProxy
Source§impl From<LinkableSynchronousProxy> for Handle
impl From<LinkableSynchronousProxy> for Handle
Source§fn from(value: LinkableSynchronousProxy) -> Self
fn from(value: LinkableSynchronousProxy) -> Self
Source§impl SynchronousProxy for LinkableSynchronousProxy
impl SynchronousProxy for LinkableSynchronousProxy
Source§type Proxy = LinkableProxy
type Proxy = LinkableProxy
Source§type Protocol = LinkableMarker
type Protocol = LinkableMarker
Proxy
controls.