[][src]Struct sunrise_libuser::types::ClientSession

#[repr(transparent)]pub struct ClientSession(pub Handle);

The client side of an IPC session.

Usually obtained by connecting to a service through the sm: service manager. However, an anonymous session pair might be created through the create_session syscall, or by calling connect_to_named_port.

Implementations

impl ClientSession[src]

pub fn send_sync_request_with_user_buffer(
    &self,
    buf: &mut [u8]
) -> Result<(), Error>
[src]

Send an IPC request to the handle, and wait for a response. The passed buffer should contain the request on input, and will contain the reply on output.

This is a low-level primitives that is usually wrapped by a higher-level library. Look at the ipc module for more information on the IPC message format.

pub fn into_handle(self) -> Handle[src]

Consumes the session, returning the underlying handle. Note that closing a Handle without sending a close IPC message will leak the object in the sysmodule. You should always reconstruct the ClientSession from the Handle before dropping it.

pub fn try_clone(&self) -> Result<ClientSession, Error>[src]

Clones the current object, returning a new handle. The returned handle has its own IPC buffer - it may be used concurrently with the original.

Trait Implementations

impl Debug for ClientSession[src]

impl Drop for ClientSession[src]

impl From<AhciInterfaceProxy> for ClientSession[src]

impl From<ClientSession> for IUserInterfaceProxy[src]

impl From<ClientSession> for ViInterfaceProxy[src]

impl From<ClientSession> for IStorageProxy[src]

impl From<ClientSession> for IFileSystemProxy[src]

impl From<ClientSession> for IFileSystemServiceProxy[src]

impl From<ClientSession> for StaticServiceProxy[src]

impl From<ClientSession> for ILoaderInterfaceProxy[src]

impl From<ClientSession> for IPipeProxy[src]

impl From<ClientSession> for ITwiliServiceProxy[src]

impl From<ClientSession> for ITwiliManagerServiceProxy[src]

impl From<ClientSession> for IExample4Proxy[src]

impl From<ClientSession> for IExample3SubsessionProxy[src]

impl From<ClientSession> for IBufferProxy[src]

impl From<ClientSession> for IExample2Proxy[src]

impl From<ClientSession> for IExample3Proxy[src]

impl From<ClientSession> for IExample1Proxy[src]

impl From<ClientSession> for IDiskProxy[src]

impl From<ClientSession> for AhciInterfaceProxy[src]

impl From<ClientSession> for TimeZoneServiceProxy[src]

impl From<ClientSession> for RTCManagerProxy[src]

impl From<ClientSession> for StaticServiceProxy[src]

impl From<ClientSession> for IFileProxy[src]

impl From<ClientSession> for IDirectoryProxy[src]

impl From<IBufferProxy> for ClientSession[src]

impl From<IDirectoryProxy> for ClientSession[src]

impl From<IDiskProxy> for ClientSession[src]

impl From<IExample1Proxy> for ClientSession[src]

impl From<IExample2Proxy> for ClientSession[src]

impl From<IExample3Proxy> for ClientSession[src]

impl From<IExample3SubsessionProxy> for ClientSession[src]

impl From<IExample4Proxy> for ClientSession[src]

impl From<IFileProxy> for ClientSession[src]

impl From<IFileSystemProxy> for ClientSession[src]

impl From<IFileSystemServiceProxy> for ClientSession[src]

impl From<ILoaderInterfaceProxy> for ClientSession[src]

impl From<IPipeProxy> for ClientSession[src]

impl From<IStorageProxy> for ClientSession[src]

impl From<ITwiliManagerServiceProxy> for ClientSession[src]

impl From<ITwiliServiceProxy> for ClientSession[src]

impl From<IUserInterfaceProxy> for ClientSession[src]

impl From<RTCManagerProxy> for ClientSession[src]

impl From<StaticServiceProxy> for ClientSession[src]

impl From<StaticServiceProxy> for ClientSession[src]

impl From<TimeZoneServiceProxy> for ClientSession[src]

impl From<ViInterfaceProxy> for ClientSession[src]

Auto Trait Implementations

impl RefUnwindSafe for ClientSession

impl Send for ClientSession

impl Sync for ClientSession

impl Unpin for ClientSession

impl UnwindSafe for ClientSession

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SizedIPCBuffer for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.