diff options
| author | Brian Anderson <banderson@mozilla.com> | 2014-07-30 13:14:33 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2014-08-13 11:31:47 -0700 |
| commit | 734834c7d6e4862c8348a8c9660bb338773047ca (patch) | |
| tree | 5d88a8923812bf1752abb7a36c1a1bba01c51e36 | |
| parent | 8a5fe8655af5b8927cb6868d715c5bd9fa30c3b3 (diff) | |
| download | rust-734834c7d6e4862c8348a8c9660bb338773047ca.tar.gz rust-734834c7d6e4862c8348a8c9660bb338773047ca.zip | |
std: Restore missing timer examples
| -rw-r--r-- | src/libstd/io/timer.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/libstd/io/timer.rs b/src/libstd/io/timer.rs index d9d6bb0f1b3..d9f35ed73e0 100644 --- a/src/libstd/io/timer.rs +++ b/src/libstd/io/timer.rs @@ -114,6 +114,29 @@ impl Timer { /// this is called in method-chaining style, the receiver will be /// invalidated at the end of that statement, and all `recv` calls will /// fail. + /// + /// # Example + /// + /// ```rust + /// use std::io::Timer; + /// + /// let mut timer = Timer::new().unwrap(); + /// let ten_milliseconds = timer.oneshot(10); + /// + /// for _ in range(0u, 100) { /* do work */ } + /// + /// // blocks until 10 ms after the `oneshot` call + /// ten_milliseconds.recv(); + /// ``` + /// + /// ```rust + /// use std::io::Timer; + /// + /// // Incorrect, method chaining-style: + /// let mut five_ms = Timer::new().unwrap().oneshot(5); + /// // The timer object was destroyed, so this will always fail: + /// // five_ms.recv() + /// ``` pub fn oneshot(&mut self, duration: Duration) -> Receiver<()> { let (tx, rx) = channel(); self.obj.oneshot(in_ms(duration), box TimerCallback { tx: tx }); @@ -133,6 +156,35 @@ impl Timer { /// this is called in method-chaining style, the receiver will be /// invalidated at the end of that statement, and all `recv` calls will /// fail. + /// + /// # Example + /// + /// ```rust + /// use std::io::Timer; + /// + /// let mut timer = Timer::new().unwrap(); + /// let ten_milliseconds = timer.periodic(10); + /// + /// for _ in range(0u, 100) { /* do work */ } + /// + /// // blocks until 10 ms after the `periodic` call + /// ten_milliseconds.recv(); + /// + /// for _ in range(0u, 100) { /* do work */ } + /// + /// // blocks until 20 ms after the `periodic` call (*not* 10ms after the + /// // previous `recv`) + /// ten_milliseconds.recv(); + /// ``` + /// + /// ```rust + /// use std::io::Timer; + /// + /// // Incorrect, method chaining-style. + /// let mut five_ms = Timer::new().unwrap().periodic(5); + /// // The timer object was destroyed, so this will always fail: + /// // five_ms.recv() + /// ``` pub fn periodic(&mut self, duration: Duration) -> Receiver<()> { let (tx, rx) = channel(); self.obj.period(in_ms(duration), box TimerCallback { tx: tx }); |
