summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-09-04 18:02:27 -0400
committerJesse Luehrs <doy@tozt.net>2014-09-04 18:02:27 -0400
commit45b85da13a9df80f0f52799b3bc682b5a46f2bc0 (patch)
tree31b8de9c4da8f098002adc88fbbe26c76b205240
parent9db83fd0c6e0f712ff638aaf6c939c56d1401e74 (diff)
downloadrust-irc-45b85da13a9df80f0f52799b3bc682b5a46f2bc0.tar.gz
rust-irc-45b85da13a9df80f0f52799b3bc682b5a46f2bc0.zip
use a typedef here to simplify things
-rw-r--r--src/client.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/client.rs b/src/client.rs
index f05b3b0..d9d4076 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -4,6 +4,8 @@ use std::collections::hashmap::HashMap;
use constants::{MessageType, Nick, Pass, Ping, Pong, User};
use message::Message;
+type Callback<'a, 'b> = Box<Fn<(&'a mut Client<'a, 'b>, &'b Message), ()> + 'static>;
+
#[deriving(PartialEq, Eq, Hash)]
pub enum CallbackEvent {
MessageEvent(MessageType),
@@ -23,12 +25,12 @@ pub struct ClientBuilder<'a, 'b> {
servername: String,
port: u16,
- callbacks: HashMap<CallbackEvent, Vec<Box<Fn<(&'a mut Client<'a, 'b>, &'b Message), ()> + 'static>>>,
+ callbacks: HashMap<CallbackEvent, Vec<Callback<'a, 'b>>>,
}
pub struct Client<'a, 'b> {
conn: io::BufferedStream<io::TcpStream>,
- callbacks: HashMap<CallbackEvent, Vec<Box<Fn<(&'a mut Client<'a, 'b>, &'b Message), ()> + 'static>>>,
+ callbacks: HashMap<CallbackEvent, Vec<Callback<'a, 'b>>>,
}
impl<'a, 'b> ClientBuilder<'a, 'b> {
@@ -40,7 +42,7 @@ impl<'a, 'b> ClientBuilder<'a, 'b> {
vec![
box () (|&: client: &mut Client, m: &Message| {
client.write(Message::new(None, Pong, m.params().clone()));
- }) as Box<Fn<(&mut Client, &Message), ()> + 'static>
+ }) as Callback
]
);