Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Difference From sigq-0.13.1 To sigq-0.13.2
2023-07-27
| ||
01:21 | Fix premature Puller stale error bug. check-in: 68dd3c42ad user: jan tags: trunk | |
2023-07-26
| ||
19:54 | Documentation udates. Hide push and pull modules from public. check-in: b485d7b118 user: jan tags: sigq-0.13.2, trunk | |
2023-07-25
| ||
01:49 | Release maintenance. check-in: 052111cfd8 user: jan tags: sigq-0.13.1, trunk | |
01:47 | Clear the internal queue when the last Puller is dropped. check-in: 2e05c4ff29 user: jan tags: trunk | |
Changes to Cargo.toml.
1 2 | 1 2 3 4 5 6 7 8 9 10 | - + | [package] name = "sigq" |
︙ |
Changes to src/lib.rs.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + |
|
︙ |
Changes to src/pull.rs.
︙ | |||
15 16 17 18 19 20 21 | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | - - + + + | impl<I> Puller<I> { /// Pull the oldest node off the queue and return it. /// /// If no nodes are available on the queue, then block and wait for one to /// become available. /// |
︙ | |||
43 44 45 46 47 48 49 | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | - + | /// Pull the oldest node off the queue and return it. /// /// If a node is available on the queue then take it off and return it. /// /// If no nodes are available and there are no more [`Pusher`](super::Pusher) /// objects associated with this `Puller`, then return `Err(StaleErr)`. /// |
︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | + + + + + | pub fn was_empty(&self) -> bool { let inner = self.0.inner.lock(); inner.q.is_empty() } } impl<I> Drop for Puller<I> { /// Drop a `Puller` instance. /// /// If this is the last `Puller` end-point of a sigq instance, then the inner /// queue will be cleared (i.e. all its elements will be immediately /// dropped). fn drop(&mut self) { let mut inner = self.0.inner.lock(); inner.npullers -= 1; // If this is the last puller then remove all thr nodes. // The nodes may contain some kind of context that must be notified that // the node will never reach its destination. |
︙ |
Changes to src/push.rs.
︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | + + + + | let mut inner = self.0.inner.lock(); inner.npushers += 1; Self(Arc::clone(&self.0)) } } impl<I> Drop for Pusher<I> { /// Drop a `Pusher` instance. /// /// When the final instance of a sigq's instance's `Pusher` is dropped, wake /// up any `Puller`'s waiting for new nodes to arrive. fn drop(&mut self) { let mut inner = self.0.inner.lock(); inner.npushers -= 1; // If this was the last pusher then wake any pullers that are waiting to // receive new items. (When they discover that no pushers remain they will // return None). |
︙ |
Changes to www/changelog.md.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | + + + + + + + + + + + | # Change Log ## [Unreleased] ### Added ### Changed ### Removed ## [0.13.2] - 2023-07-26 ### Added ### Changed - Documentation updates. ### Removed ## [0.13.1] - 2023-07-25 ### Added |
︙ |