use tokio::sync::oneshot::Sender;
use zb_aps::Data;
use zb_core::short_id::Device;
use zb_hw::Error;
use zb_nwk::Source;
use zb_zdp::{Command, Frame};
use super::Payload;
use crate::response::InternalCommunicationResponse;
#[derive(Debug)]
pub enum Message {
Received {
source: Source,
frame: Data<Frame<Command>>,
},
NetworkOpened,
NetworkClosed,
Communicate {
device: Device,
payload: Payload,
response: Sender<Result<InternalCommunicationResponse<Command>, Error>>,
},
}