Trait caminos_lib::router::StatusAtEmissor [−][src]
pub trait StatusAtEmissor {
fn num_virtual_channels(&self) -> usize;
fn acknowledge(&mut self, message: AcknowledgeMessage);
fn notify_outcoming_phit(&mut self, virtual_channel: usize, cycle: usize);
fn can_transmit(&self, phit: &Rc<Phit>, virtual_channel: usize) -> bool;
fn can_transmit_whole_packet(
&self,
phit: &Rc<Phit>,
virtual_channel: usize
) -> bool;
fn known_available_space_for_virtual_channel(
&self,
virtual_channel: usize
) -> Option<usize>;
fn get_last_transmission(&self) -> usize;
}
Expand description
Structure for a port to contain the information necessary about the other endpoint, so that we can know if we can send data.
Required methods
fn num_virtual_channels(&self) -> usize
fn num_virtual_channels(&self) -> usize
Get the number of virtual channels used in the link.
fn acknowledge(&mut self, message: AcknowledgeMessage)
fn acknowledge(&mut self, message: AcknowledgeMessage)
Receive a phit acknowledge from the receiving endpoint.
fn notify_outcoming_phit(&mut self, virtual_channel: usize, cycle: usize)
fn notify_outcoming_phit(&mut self, virtual_channel: usize, cycle: usize)
Keep track of a outcoming phit.
Check if we can transmit a given phit.
Check if we can surely transmit and store the whole remaining of the packet.
fn known_available_space_for_virtual_channel(
&self,
virtual_channel: usize
) -> Option<usize>
fn known_available_space_for_virtual_channel(
&self,
virtual_channel: usize
) -> Option<usize>
Consult available space. This includes dedicated and shared space.
fn get_last_transmission(&self) -> usize
fn get_last_transmission(&self) -> usize
Get timestamp of last transmission.