ndn_transport/
face_event.rs1use crate::FaceId;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
10pub enum FaceEvent {
11 Opened(FaceId),
13 Closed(FaceId),
15}
16
17impl FaceEvent {
18 pub fn face_id(&self) -> FaceId {
19 match self {
20 FaceEvent::Opened(id) | FaceEvent::Closed(id) => *id,
21 }
22 }
23}
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28
29 #[test]
30 fn face_id_accessor() {
31 let opened = FaceEvent::Opened(FaceId(3));
32 let closed = FaceEvent::Closed(FaceId(7));
33 assert_eq!(opened.face_id(), FaceId(3));
34 assert_eq!(closed.face_id(), FaceId(7));
35 }
36
37 #[test]
38 fn events_are_clone_and_eq() {
39 let e = FaceEvent::Closed(FaceId(1));
40 assert_eq!(e.clone(), e);
41 }
42}