3.md (8281B)
1 # PR #3 Bump tokio from 0.2.11 to 0.2.12 2 3 - **Status:** merged 4 - **Author:** @dependabot-preview[bot] 5 - **Created:** 2020-02-28T05:07:04Z 6 - **Branch:** dependabot/cargo/tokio-0.2.12 → master 7 - **Merged:** 2020-02-28T09:10:49Z 8 - **Labels:** dependencies 9 - **Assignees:** @MTRNord 10 - **Diff:** [3.diff](./3.diff) 11 12 --- 13 14 Bumps [tokio](https://github.com/tokio-rs/tokio) from 0.2.11 to 0.2.12. 15 <details> 16 <summary>Release notes</summary> 17 <p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p> 18 <blockquote> 19 <h2>Tokio v0.2.12</h2> 20 <p>Polish, small additions, and fixes. The biggest additions in this release are <code>StreamMap</code> and <code>Notify</code>.</p> 21 <h2><code>StreamMap</code></h2> 22 <p>Similar to <code>StreamExt::merge</code>, <code>StreamMap</code> supports merging multiple source streams into a single stream, producing items as they become available in the source streams. However, <code>StreamMap</code> supports inserting and removing streams at run-time. This is useful for cases where a consumer wishes to subscribe to messages from multiple sources and dynamically manage those subscriptions.</p> 23 <p>As the name implies, <code>StreamMap</code> maps keys to streams. Streams are [inserted] or [removed] as needed and then the <code>StreamMap</code> is used as any other stream. Items are returned with their keys, enabling the caller to identify <strong>which</strong> source stream the item originated from.</p> 24 <h3>Example</h3> 25 <pre lang="rust"><code>use tokio::stream::{StreamExt, StreamMap}; 26 use tokio::sync::mpsc; 27 <p>#[tokio::main] 28 async fn main() { 29 let (mut tx1, rx1) = mpsc::channel(10); 30 let (mut tx2, rx2) = mpsc::channel(10); 31 // use <code>Sender</code> handles</p> 32 <pre><code>let mut map = StreamMap::new(); 33 34 // Insert both streams 35 map.insert(&quot;one&quot;, rx1); 36 map.insert(&quot;two&quot;, rx2); 37 38 // Read twice 39 for _ in 0..2 { 40 let (key, val) = map.next().await.unwrap(); 41 42 println!(&quot;got {} from {}&quot;, val, key); 43 44 // Remove the stream to prevent reading the next value 45 map.remove(key); 46 } 47 </code></pre> 48 <p>} 49 </code></pre></p> 50 <h2><code>Notify</code></h2> 51 <p><code>Notify</code> is the next step in providing <code>async / await</code> based synchronization primitives. It is similar to how <code>thread::park() / unpark()</code> work, but for asynchronous tasks. Consumers await notifications and producers notify consumers. <code>Notify</code> is intended to be used as a building block for higher level synchronization primitives, such as channels.</p> 52 <h3>Examples</h3> 53 <p>Basic usage.</p> 54 <pre lang="rust"><code>use tokio::sync::Notify; 55 use std::sync::Arc; 56 </tr></table> ... (truncated) 57 </code></pre> 58 </blockquote> 59 </details> 60 <details> 61 <summary>Commits</summary> 62 <ul> 63 <li><a href="https://github.com/tokio-rs/tokio/commit/c6fc1db6981733c8bfe90d979132b00cfc03b83b"><code>c6fc1db</code></a> chore: prepare v0.2.12 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2278">#2278</a>)</li> 64 <li><a href="https://github.com/tokio-rs/tokio/commit/d44ce338af6ef3cf666f5b3db6e8e0bf057e5490"><code>d44ce33</code></a> tcp: Update listener docs (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2276">#2276</a>)</li> 65 <li><a href="https://github.com/tokio-rs/tokio/commit/8b7ea0ff5cad2522d3113b77e9b6d95b507dee3b"><code>8b7ea0f</code></a> sync: adds Notify for basic task notification (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2210">#2210</a>)</li> 66 <li><a href="https://github.com/tokio-rs/tokio/commit/7207bf355e2b6418bb0d757859a5cdcdedf32530"><code>7207bf3</code></a> time: avoid needing to <code>poll</code> DelayQueue after insertion (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2217">#2217</a>)</li> 67 <li><a href="https://github.com/tokio-rs/tokio/commit/a4c4ac254b36c5b78038d416e3b78912df293f8f"><code>a4c4ac2</code></a> docs: macros doc(cfg) workarounds (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2225">#2225</a>)</li> 68 <li><a href="https://github.com/tokio-rs/tokio/commit/0589acc9ffb9175647d6b7a794edd8812f79399f"><code>0589acc</code></a> Implement Stream for Listener types (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2275">#2275</a>)</li> 69 <li><a href="https://github.com/tokio-rs/tokio/commit/1dadc701c04879f1df4ddaa0df362297a144d7b3"><code>1dadc70</code></a> macros: add assignment form to pin! (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2274">#2274</a>)</li> 70 <li><a href="https://github.com/tokio-rs/tokio/commit/10f1507cf44b62f4b126ecdd28351e4a4a1ce3f7"><code>10f1507</code></a> process: Wake up read and write on <code>EPOLLERR</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2218">#2218</a>)</li> 71 <li><a href="https://github.com/tokio-rs/tokio/commit/b9cc032d3bcf7686f0130163c13d3d660d30ae2c"><code>b9cc032</code></a> mpsc: add <code>Sender::send_timeout</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2227">#2227</a>)</li> 72 <li><a href="https://github.com/tokio-rs/tokio/commit/4213b794611d706beb0ad244a1ad03086bb8a94d"><code>4213b79</code></a> tokio: fix broken contributing guide link (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/2267">#2267</a>)</li> 73 <li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-0.2.11...tokio-0.2.12">compare view</a></li> 74 </ul> 75 </details> 76 <br /> 77 78 79 [](https://dependabot.com/compatibility-score/?dependency-name=tokio&package-manager=cargo&previous-version=0.2.11&new-version=0.2.12) 80 81 Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. 82 83 [//]: # (dependabot-automerge-start) 84 [//]: # (dependabot-automerge-end) 85 86 --- 87 88 <details> 89 <summary>Dependabot commands and options</summary> 90 <br /> 91 92 You can trigger Dependabot actions by commenting on this PR: 93 - `@dependabot rebase` will rebase this PR 94 - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it 95 - `@dependabot merge` will merge this PR after your CI passes on it 96 - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it 97 - `@dependabot cancel merge` will cancel a previously requested merge and block automerging 98 - `@dependabot reopen` will reopen this PR if it is closed 99 - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually 100 - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) 101 - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) 102 - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) 103 - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language 104 - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language 105 - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language 106 - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language 107 - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme 108 109 Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): 110 - Update frequency (including time of day and day of week) 111 - Pull request limits (per update run and/or open at any time) 112 - Out-of-range updates (receive only lockfile updates, if desired) 113 - Security updates (receive only security updates, if desired) 114 115 116 117 </details> 118