Struct caminos_lib::packet::Packet
source · pub struct Packet {
pub size: usize,
pub routing_info: RefCell<RoutingInfo>,
pub message: Rc<Message>,
pub index: usize,
pub cycle_into_network: RefCell<Time>,
pub extra: RefCell<Option<PacketExtraInfo>>,
}
Expand description
A portion of a message. They are divided into phits. All phits must go through the same queues without phits of other packets in between.
Fields§
§size: usize
Number of phits
routing_info: RefCell<RoutingInfo>
Information for the routing
message: Rc<Message>
The message to what this packet belongs.
index: usize
position inside the message
cycle_into_network: RefCell<Time>
The cycle when the packet has touched the first router. This is, the packet leading phit has been inserted into a router. We set it to 0 if the packet has not entered the network yet.
extra: RefCell<Option<PacketExtraInfo>>
Extra info tracked for some special statistics.
Implementations§
Trait Implementations§
source§impl Quantifiable for Packet
impl Quantifiable for Packet
source§fn total_memory(&self) -> usize
fn total_memory(&self) -> usize
Get the total memory currently being employed by the implementing type. Both stack and heap.
source§fn print_memory_breakdown(&self)
fn print_memory_breakdown(&self)
Prints by stdout how much memory is used per component.
source§fn forecast_total_memory(&self) -> usize
fn forecast_total_memory(&self) -> usize
Get an estimation on how much memory the type could reach during the simulation.
Auto Trait Implementations§
impl !RefUnwindSafe for Packet
impl !Send for Packet
impl !Sync for Packet
impl Unpin for Packet
impl !UnwindSafe for Packet
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more