From ad4f61e29f3072fd7d9e78386439e52f8512287e Mon Sep 17 00:00:00 2001 From: Zachary Dremann Date: Wed, 11 Jun 2014 23:43:41 -0400 Subject: Make construction of an IRC client 2 parts, create, then connect. --- examples/client.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/client.rs b/examples/client.rs index 4363060..0419816 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -3,8 +3,6 @@ extern crate irc; use std::io::stdio; use irc::IrcClient; -use irc::msg::Message; -//use irc::msg::cmd; fn main() { let mut stderr = stdio::stderr(); @@ -17,13 +15,12 @@ fn main() { drop(args); - let mut connection = IrcClient::connect(host.as_slice(), port, "rusty-irc".to_string(), "dremann".to_string(), "Zachary Dremann".to_string()).unwrap(); - let sender = connection.sender(); + let (tx, rx) = channel(); + + let client = IrcClient::new("rusti-irc".to_string(), "dremann".to_string(), "Zachary Dremann".to_string()); + let connection = client.connect(host.as_slice(), port, tx).ok().unwrap(); + let sender = connection.sender().clone(); - let on_msg = |message: &Message| { - println!("{} {}", message.prefix, message.command); - }; - spawn(proc() { let mut stdin = stdio::stdin(); for line in stdin.lines() { @@ -39,5 +36,7 @@ fn main() { } }); - connection.run_loop(on_msg); + for msg in rx.iter() { + println!("{} {}", msg.prefix, msg.command); + } } -- cgit v1.2.3-54-g00ecf