aranya_daemon_api/service/
afc.rs1#![cfg(feature = "afc")]
2#![cfg_attr(docsrs, doc(cfg(feature = "afc")))]
3
4pub use aranya_fast_channels::{shm, LocalChannelId as AfcLocalChannelId};
5use aranya_id::custom_id;
6use serde::{Deserialize, Serialize};
7
8use crate::{DeviceId, LabelId};
9
10custom_id! {
11 pub struct AfcChannelId;
13}
14
15pub type AfcCtrl = Box<[u8]>;
17
18#[derive(Clone, Debug, Serialize, Deserialize)]
20pub struct AfcShmInfo {
21 pub path: Box<shm::Path>,
22 pub max_chans: usize,
23}
24
25#[derive(Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize)]
27pub struct AfcSendChannelInfo {
28 pub ctrl: AfcCtrl,
29 pub local_channel_id: AfcLocalChannelId,
30 pub channel_id: AfcChannelId,
31}
32
33#[derive(Clone, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize)]
35pub struct AfcReceiveChannelInfo {
36 pub local_channel_id: AfcLocalChannelId,
37 pub channel_id: AfcChannelId,
38 pub label_id: LabelId,
39 pub peer_id: DeviceId,
40}