ergot_base/interface_manager/
null.rs1use serde::Serialize;
2
3use crate::Header;
4
5use super::{ConstInit, InterfaceManager, InterfaceSendError};
6
7pub struct NullInterfaceManager {
8 _priv: (),
9}
10
11impl ConstInit for NullInterfaceManager {
12 const INIT: Self = Self { _priv: () };
13}
14
15impl InterfaceManager for NullInterfaceManager {
16 fn send<T: Serialize>(&mut self, hdr: Header, _data: &T) -> Result<(), InterfaceSendError> {
17 if hdr.dst.net_node_any() {
18 Err(InterfaceSendError::DestinationLocal)
19 } else {
20 Err(InterfaceSendError::PlaceholderOhNo)
21 }
22 }
23
24 fn send_raw(&mut self, hdr: Header, _data: &[u8]) -> Result<(), InterfaceSendError> {
25 if hdr.dst.net_node_any() {
26 Err(InterfaceSendError::DestinationLocal)
27 } else {
28 Err(InterfaceSendError::PlaceholderOhNo)
29 }
30 }
31}