pub struct LinkableProxy { /* private fields */ }
Implementations§
Source§impl LinkableProxy
impl LinkableProxy
Sourcepub fn take_event_stream(&self) -> LinkableEventStream
pub fn take_event_stream(&self) -> LinkableEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn link_into(
&self,
dst_parent_token: Event,
dst: &str,
) -> QueryResponseFut<LinkableLinkIntoResult, FDomainResourceDialect>
pub fn link_into( &self, dst_parent_token: Event, dst: &str, ) -> QueryResponseFut<LinkableLinkIntoResult, FDomainResourceDialect>
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 Clone for LinkableProxy
impl Clone for LinkableProxy
Source§fn clone(&self) -> LinkableProxy
fn clone(&self) -> LinkableProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LinkableProxy
impl Debug for LinkableProxy
Source§impl LinkableProxyInterface for LinkableProxy
impl LinkableProxyInterface for LinkableProxy
type LinkIntoResponseFut = QueryResponseFut<Result<(), i32>, FDomainResourceDialect>
fn link_into( &self, dst_parent_token: Event, dst: &str, ) -> Self::LinkIntoResponseFut
Source§impl Proxy for LinkableProxy
impl Proxy for LinkableProxy
Source§type Protocol = LinkableMarker
type Protocol = LinkableMarker
Proxy
controls.Source§fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Source§fn into_channel(self) -> Result<Channel, Self>
fn into_channel(self) -> Result<Channel, Self>
Source§fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Auto Trait Implementations§
impl Freeze for LinkableProxy
impl !RefUnwindSafe for LinkableProxy
impl Send for LinkableProxy
impl Sync for LinkableProxy
impl Unpin for LinkableProxy
impl !UnwindSafe for LinkableProxy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T
to [Self
]