in src/sync/mpsc.rs [111:132]
fn new(bound: Option<usize>) -> Self {
let receiver_clock = if let Some(bound) = bound {
let mut s = SmallVec::with_capacity(bound);
for _ in 0..bound {
s.push(VectorClock::new());
}
Some(s)
} else {
None
};
Self {
bound,
state: Rc::new(RefCell::new(ChannelState {
messages: SmallVec::new(),
receiver_clock,
known_senders: 1,
known_receivers: 1,
waiting_senders: SmallVec::new(),
waiting_receivers: SmallVec::new(),
})),
}
}