pub struct Launcher;
Expand description
The type corresponding to the Launcher protocol. A low-level interface for launching processes.
This interface is used for manually assembling a process. The caller supplies all the capabilities for the newly created process.
That create processes typically use fdio_spawn
or fdio_spawn_etc
rather
than using this interface directly. The fdio_spawn
and fdio_spawn_etc
functions are implemented using this interface.
Debuggers and other clients that need to create processes in a suspended
state often use this interface directly. These clients use the
CreateWithoutStarting
method to create the process without actually
starting it.
Trait Implementations§
Source§impl ClientCompatFrom<LauncherProxy> for Launcher
impl ClientCompatFrom<LauncherProxy> for Launcher
Source§fn client_compat_from(proxy: LauncherProxy) -> Client<Self, Channel>
fn client_compat_from(proxy: LauncherProxy) -> Client<Self, Channel>
Converts
proxy
into a Client
for this protocol.Source§impl CompatFrom<Launcher> for LauncherMarker
impl CompatFrom<Launcher> for LauncherMarker
Source§fn compat_from(_: Launcher) -> Self
fn compat_from(_: Launcher) -> Self
Converts
value
into a value of this type.Source§impl CompatFrom<LauncherMarker> for Launcher
impl CompatFrom<LauncherMarker> for Launcher
Source§fn compat_from(_: LauncherMarker) -> Self
fn compat_from(_: LauncherMarker) -> Self
Converts
value
into a value of this type.Source§impl Discoverable for Launcher
impl Discoverable for Launcher
Source§const PROTOCOL_NAME: &'static str = "fuchsia.process.Launcher"
const PROTOCOL_NAME: &'static str = "fuchsia.process.Launcher"
The service name to use to connect to this discoverable protocol.
Source§impl<___H, ___T> DispatchClientMessage<___H, ___T> for Launcherwhere
___H: LauncherClientHandler<___T> + Send,
___T: Transport,
<Launch as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
<CreateWithoutStarting as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> DispatchClientMessage<___H, ___T> for Launcherwhere
___H: LauncherClientHandler<___T> + Send,
___T: Transport,
<Launch as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
<CreateWithoutStarting as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
Source§impl<___H, ___T> DispatchServerMessage<___H, ___T> for Launcherwhere
___H: LauncherServerHandler<___T> + Send,
___T: Transport,
<Launch as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<CreateWithoutStarting as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddArgs as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddEnvirons as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddNames as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddHandles as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<SetOptions as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> DispatchServerMessage<___H, ___T> for Launcherwhere
___H: LauncherServerHandler<___T> + Send,
___T: Transport,
<Launch as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<CreateWithoutStarting as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddArgs as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddEnvirons as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddNames as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<AddHandles as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
<SetOptions as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
Source§async fn on_one_way(
handler: &mut ___H,
sender: &ServerSender<Self, ___T>,
ordinal: u64,
buffer: ___T::RecvBuffer,
)
async fn on_one_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, )
Handles a received server one-way message with the given handler.
Source§async fn on_two_way(
handler: &mut ___H,
sender: &ServerSender<Self, ___T>,
ordinal: u64,
buffer: ___T::RecvBuffer,
responder: Responder,
)
async fn on_two_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, responder: Responder, )
Handles a received server two-way message with the given handler.
Source§impl<___T> Protocol<___T> for Launcherwhere
___T: Transport,
impl<___T> Protocol<___T> for Launcherwhere
___T: Transport,
Source§type ClientSender = LauncherClientSender<___T>
type ClientSender = LauncherClientSender<___T>
The client sender for the protocol. It must be a
#[repr(transparent)]
wrapper around
ClientSender<T>
.Source§type ServerSender = LauncherServerSender<___T>
type ServerSender = LauncherServerSender<___T>
The server sender for the protocol. It must be a
#[repr(transparent)]
wrapper around
ServerSender<T>
.Auto Trait Implementations§
impl Freeze for Launcher
impl RefUnwindSafe for Launcher
impl Send for Launcher
impl Sync for Launcher
impl Unpin for Launcher
impl UnwindSafe for Launcher
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