From 4beb868e0ca2aa5ad9c29e4ba934c0fd8fc2501e Mon Sep 17 00:00:00 2001 From: Zachary Dremann Date: Wed, 25 Jun 2014 09:14:42 -0400 Subject: Allow IrcClient to be cloned, and sent between tasks. --- examples/client.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/client.rs b/examples/client.rs index a48d2a6..9c5e15a 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -18,9 +18,15 @@ fn main() { 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 nicks = (vec!["rusti-irc".to_string()]).move_iter(); + let config = irc::ClientConfig { + nicks: nicks, + username: "dremann".to_string(), + real_name: "Zachary Dremann".to_string() + }; + + let client = IrcClient::new(config, host.as_slice(), port, tx).unwrap(); + let sender = client.sender().clone(); spawn(proc() { let mut stdin = stdio::stdin(); @@ -38,6 +44,8 @@ fn main() { }); for msg in rx.iter() { + let c = client.clone(); + println!("{}", c.nick()); println!("{} {}", msg.prefix, msg.command); } -- cgit v1.2.3-54-g00ecf