Skip to content

Commit 9e07584

Browse files
authored
Merge pull request #19 from halzy/halzy/17-values
feat!: #17 renamed OutgoingMessage.value to values
2 parents 4e2b3d2 + 1e2f48f commit 9e07584

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "stream_multiplexer"
3-
version = "0.7.0"
3+
version = "0.8.0"
44
authors = ["Benjamin Halsted <[email protected]>"]
55
edition = "2018"
66
license = "MIT OR Apache-2.0"

src/lib.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -228,17 +228,18 @@ impl<V> std::fmt::Debug for IncomingPacket<V> {
228228
/// The payload of an OutgoingPacket
229229
#[derive(Clone)]
230230
pub struct OutgoingMessage<V> {
231-
stream_ids: Vec<StreamId>,
232-
value: tinyvec::TinyVec<[Option<V>; 16]>,
231+
stream_ids: tinyvec::TinyVec<[Option<StreamId>; 16]>,
232+
values: tinyvec::TinyVec<[Option<V>; 16]>,
233233
}
234234
impl<V> OutgoingMessage<V> {
235235
/// Creates a new message that is to be delivered to streams with `ids`.
236-
pub fn new(stream_ids: Vec<StreamId>, values: impl IntoIterator<Item = V>) -> Self {
236+
pub fn new(
237+
stream_ids: impl IntoIterator<Item = StreamId>,
238+
values: impl IntoIterator<Item = V>,
239+
) -> Self {
240+
let stream_ids = tinyvec::TinyVec::from_iter(stream_ids.into_iter().map(Some));
237241
let values = tinyvec::TinyVec::from_iter(values.into_iter().map(Some));
238-
Self {
239-
stream_ids,
240-
value: values,
241-
}
242+
Self { stream_ids, values }
242243
}
243244
}
244245

src/multiplexer_senders.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,14 @@ where
139139
}
140140

141141
fn handle_new_message(&mut self, mut message: OutgoingMessage<Item>) {
142-
for stream_id in message.stream_ids {
142+
for stream_id in message.stream_ids.iter().cloned().flatten() {
143143
match self.sender_pairs.entry(stream_id) {
144144
Entry::Vacant(_) => {
145145
tracing::warn!(stream_id, "Tring to send message to non-existent stream.");
146146
}
147147
Entry::Occupied(mut sender_pair_entry) => {
148148
let mut should_remove = false;
149-
for value in message.value.drain(..).flatten() {
149+
for value in message.values.drain(..).flatten() {
150150
let sender_pair = sender_pair_entry.get_mut();
151151
match sender_pair.try_send(value.clone()) {
152152
Ok(()) => {

0 commit comments

Comments
 (0)