simple_someip/server/
service_info.rs1use std::net::SocketAddrV4;
4
5#[derive(Debug, Clone)]
7pub struct ServiceInfo {
8 pub service_id: u16,
10 pub instance_id: u16,
12 pub major_version: u8,
14 pub minor_version: u32,
16 pub event_groups: Vec<EventGroupInfo>,
18}
19
20#[derive(Debug, Clone)]
22pub struct EventGroupInfo {
23 pub event_group_id: u16,
25 pub event_ids: Vec<u16>,
27}
28
29impl EventGroupInfo {
30 #[must_use]
32 pub fn new(event_group_id: u16, event_ids: Vec<u16>) -> Self {
33 Self {
34 event_group_id,
35 event_ids,
36 }
37 }
38}
39
40#[derive(Debug, Clone)]
42pub struct Subscriber {
43 pub address: SocketAddrV4,
45 pub event_group_id: u16,
47 pub service_id: u16,
49 pub instance_id: u16,
51}
52
53impl Subscriber {
54 pub fn new(
56 address: SocketAddrV4,
57 service_id: u16,
58 instance_id: u16,
59 event_group_id: u16,
60 ) -> Self {
61 Self {
62 address,
63 event_group_id,
64 service_id,
65 instance_id,
66 }
67 }
68}