pub struct OpenableSynchronousProxy { /* private fields */ }
Implementations§
source§impl OpenableSynchronousProxy
impl OpenableSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
sourcepub fn wait_for_event(&self, deadline: Time) -> Result<OpenableEvent, Error>
pub fn wait_for_event(&self, deadline: Time) -> Result<OpenableEvent, 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 open(
&self,
flags: OpenFlags,
mode: ModeType,
path: &str,
object: ServerEnd<NodeMarker>
) -> Result<(), Error>
pub fn open( &self, flags: OpenFlags, mode: ModeType, path: &str, object: ServerEnd<NodeMarker> ) -> Result<(), Error>
Opens a new object relative to this directory object.
path
may contain multiple segments, separated by “/” characters, and should never be
empty; i.e. “” is an invalid path. A trailing slash implies OpenFlags.DIRECTORY. Components
must not be empty (i.e. “foo//bar” is invalid). “..” is disallowed anywhere in the path. “.”
is only allowed if the path is exactly “.”, but not otherwise. A leading ‘/’ is allowed (and
is treated the same way as if not present, i.e. “/foo/bar’ and “foo/bar” are the same).
If an unknown value is sent for flags the connection should be closed.
OpenFlags.RIGHT_*
flags provided in flags
will restrict access rights on
the object
channel which will be connected to the opened entity.
Rights are never increased. When you open a nested entity within a directory, you may only
request the same rights as what the directory connection already has, or a subset of those.
Exceeding those rights causes an access denied error to be transmitted in the
OnOpen
event if applicable, and the object
connection closed.
mode
is ignored.