use std::any::Any;
use crate::chip::Timeline;
use crate::snapshot::Store;
use crate::time::EventId;
pub trait Peer: Store + std::fmt::Debug + Send + Any {
fn transfer(&mut self, mosi: u32, bits: u8, context: &mut Timeline<'_, '_>) -> u32;
fn select(&mut self, _context: &mut Timeline<'_, '_>) {}
fn deselect(&mut self, _context: &mut Timeline<'_, '_>) {}
fn on_event(&mut self, _event: EventId, _context: &mut Timeline<'_, '_>) {}
fn restarted(&mut self, _context: &mut Timeline<'_, '_>) {}
fn received(&self) -> &[u32] {
&[]
}
}