Skip to content

Commit 85dea93

Browse files
committed
docs: fix errors
1 parent ab086c8 commit 85dea93

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed

src/lib.rs

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@
3939
//!
4040
//! ## Quick Start
4141
//!
42-
//! ```rust
42+
//! ```rust,no_run
4343
//! use mill_io::{EventLoop, EventHandler};
4444
//! use mio::{net::TcpListener, Interest, Token};
45+
//! use std::net::SocketAddr;
4546
//!
4647
//! struct EchoHandler;
4748
//!
@@ -57,7 +58,8 @@
5758
//! let event_loop = EventLoop::default();
5859
//!
5960
//! // Bind to localhost
60-
//! let mut listener = TcpListener::bind("127.0.0.1:8080")?;
61+
//! let addr: SocketAddr = "127.0.0.1:8080".parse()?;
62+
//! let mut listener = TcpListener::bind(addr)?;
6163
//!
6264
//! // Register the listener with a handler
6365
//! event_loop.register(
@@ -78,15 +80,18 @@
7880
//!
7981
//! ## Advanced Configuration
8082
//!
81-
//! ```rust
83+
//! ```rust,no_run
8284
//! use mill_io::EventLoop;
8385
//!
84-
//! // Create event loop with custom configuration
85-
//! let event_loop = EventLoop::new(
86-
//! 8, // 8 worker threads
87-
//! 1024, // Handle up to 1024 events per poll
88-
//! 100 // 100ms poll timeout
89-
//! )?;
86+
//! fn main() -> Result<(), Box<dyn std::error::Error>> {
87+
//! // Create event loop with custom configuration
88+
//! let event_loop = EventLoop::new(
89+
//! 8, // 8 worker threads
90+
//! 1024, // Handle up to 1024 events per poll
91+
//! 100 // 100ms poll timeout
92+
//! )?;
93+
//! Ok(())
94+
//! }
9095
//! ```
9196
//!
9297
//! ## Module Overview
@@ -158,6 +163,7 @@ pub mod prelude {
158163
/// ```rust,no_run
159164
/// use mill_io::{EventLoop, EventHandler};
160165
/// use mio::{net::TcpListener, Interest, Token};
166+
/// use std::net::SocketAddr;
161167
///
162168
/// struct MyHandler;
163169
/// impl EventHandler for MyHandler {
@@ -167,7 +173,8 @@ pub mod prelude {
167173
/// }
168174
///
169175
/// let event_loop = EventLoop::default();
170-
/// let mut listener = TcpListener::bind("127.0.0.1:0")?;
176+
/// let addr: SocketAddr = "127.0.0.1:0".parse()?;
177+
/// let mut listener = TcpListener::bind(addr)?;
171178
///
172179
/// event_loop.register(&mut listener, Token(0), Interest::READABLE, MyHandler)?;
173180
/// event_loop.run()?; // Blocks until stopped
@@ -268,6 +275,7 @@ impl EventLoop {
268275
/// ```rust,no_run
269276
/// use mill_io::{EventLoop, EventHandler};
270277
/// use mio::{net::TcpListener, Interest, Token};
278+
/// use std::net::SocketAddr;
271279
///
272280
/// struct ConnectionHandler;
273281
/// impl EventHandler for ConnectionHandler {
@@ -277,7 +285,8 @@ impl EventLoop {
277285
/// }
278286
///
279287
/// let event_loop = EventLoop::default();
280-
/// let mut listener = TcpListener::bind("0.0.0.0:8080")?;
288+
/// let addr: SocketAddr = "0.0.0.0:8080".parse()?;
289+
/// let mut listener = TcpListener::bind(addr)?;
281290
///
282291
/// event_loop.register(
283292
/// &mut listener,
@@ -324,14 +333,16 @@ impl EventLoop {
324333
/// ```rust,no_run
325334
/// use mill_io::{EventLoop, EventHandler};
326335
/// use mio::{net::TcpListener, Interest, Token};
336+
/// use std::net::SocketAddr;
327337
///
328338
/// struct Handler;
329339
/// impl EventHandler for Handler {
330340
/// fn handle_event(&self, _: &mio::event::Event) {}
331341
/// }
332342
///
333343
/// let event_loop = EventLoop::default();
334-
/// let mut listener = TcpListener::bind("127.0.0.1:0")?;
344+
/// let addr: SocketAddr = "127.0.0.1:0".parse()?;
345+
/// let mut listener = TcpListener::bind(addr)?;
335346
/// let token = Token(0);
336347
///
337348
/// // Register
@@ -364,25 +375,6 @@ impl EventLoop {
364375
/// - The polling mechanism fails
365376
/// - The thread pool encounters a fatal error
366377
/// - System resources are exhausted
367-
///
368-
/// # Examples
369-
///
370-
/// ```rust,no_run
371-
/// use mill_io::EventLoop;
372-
/// use std::thread;
373-
/// use std::time::Duration;
374-
///
375-
/// let event_loop = EventLoop::default();
376-
///
377-
/// // Stop the loop after 5 seconds (in another thread)
378-
/// let event_loop_clone = event_loop.clone(); // Note: EventLoop would need to implement Clone
379-
/// thread::spawn(move || {
380-
/// thread::sleep(Duration::from_secs(5));
381-
/// // event_loop_clone.stop(); // Would stop the loop
382-
/// });
383-
///
384-
/// // This blocks until stopped
385-
/// // event_loop.run()?;
386378
/// # Ok::<(), Box<dyn std::error::Error>>(())
387379
/// ```
388380
pub fn run(&self) -> Result<()> {
@@ -415,16 +407,16 @@ impl EventLoop {
415407
///
416408
/// // Start event loop in background thread
417409
/// let handle = thread::spawn(move || {
418-
/// event_loop_clone.run()
410+
/// // In a real application, you would handle the result properly
411+
/// let _ = event_loop_clone.run();
419412
/// });
420413
///
421414
/// // Stop after some time
422415
/// thread::sleep(std::time::Duration::from_secs(1));
423416
/// event_loop.stop();
424417
///
425418
/// // Wait for shutdown
426-
/// handle.join().unwrap();
427-
/// # Ok::<(), Box<dyn std::error::Error>>(())
419+
/// let _ = handle.join();
428420
/// ```
429421
pub fn stop(&self) {
430422
let shutdown_handler = self.reactor.get_shutdown_handle();

0 commit comments

Comments
 (0)