acktor_ipc/session/
session_handle.rs1use acktor::{ActorId, Address};
2
3use super::Session;
4
5#[derive(Debug, Clone)]
8pub enum SessionHandle {
9 Address(Address<Session>),
10 Index(ActorId),
11 Label(String),
12}
13
14impl From<Address<Session>> for SessionHandle {
15 fn from(addr: Address<Session>) -> Self {
16 Self::Address(addr)
17 }
18}
19
20impl From<ActorId> for SessionHandle {
21 fn from(index: ActorId) -> Self {
22 Self::Index(index)
23 }
24}
25
26impl From<String> for SessionHandle {
27 fn from(label: String) -> Self {
28 Self::Label(label)
29 }
30}
31
32impl From<&str> for SessionHandle {
33 fn from(label: &str) -> Self {
34 Self::Label(label.to_string())
35 }
36}