From dace078b1cc98bb63d0c7fa5947b20bfe5611b84 Mon Sep 17 00:00:00 2001 From: Aaron Weiss Date: Thu, 1 Jan 2015 20:40:58 -0500 Subject: [PATCH] Updated for mutex changes. --- src/conn.rs | 20 ++++++++++---------- src/server/mod.rs | 21 +++++++++++---------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/conn.rs b/src/conn.rs index 6734891..0c36e45 100644 --- a/src/conn.rs +++ b/src/conn.rs @@ -64,7 +64,7 @@ impl Connection, BufferedWriter> { /// Reconnects to the specified server, dropping the current connection. pub fn reconnect(&self, host: &str, port: u16) -> IoResult<()> { - let use_ssl = match self.reader.lock().get_ref() { + let use_ssl = match self.reader.lock().unwrap().get_ref() { &NetStream::UnsecuredTcpStream(_) => false, #[cfg(feature = "ssl")] &NetStream::SslTcpStream(_) => true, @@ -74,8 +74,8 @@ impl Connection, BufferedWriter> { } else { try!(Connection::connect_internal(host, port)) }; - *self.reader.lock() = reader; - *self.writer.lock() = writer; + *self.reader.lock().unwrap() = reader; + *self.writer.lock().unwrap() = writer; Ok(()) } @@ -93,7 +93,7 @@ impl Connection, BufferedWriter> { /// Modifies the internal TcpStream using a function. fn mod_stream(&self, f: |&mut TcpStream| -> IoResult<()>) -> IoResult<()> { - match self.reader.lock().get_mut() { + match self.reader.lock().unwrap().get_mut() { &NetStream::UnsecuredTcpStream(ref mut tcp) => f(tcp), #[cfg(feature = "ssl")] &NetStream::SslTcpStream(ref mut ssl) => f(ssl.get_mut()), @@ -132,7 +132,7 @@ impl Connection { detail: Some(format!("Failed to decode {} as {}.", data, encoding.name())), }) }; - let mut writer = self.writer.lock(); + let mut writer = self.writer.lock().unwrap(); try!(writer.write(data[])); writer.flush() } @@ -141,7 +141,7 @@ impl Connection { #[experimental] #[cfg(not(feature = "encode"))] pub fn send(&self, to_msg: T) -> IoResult<()> { - let mut writer = self.writer.lock(); + let mut writer = self.writer.lock().unwrap(); try!(writer.write_str(to_msg.to_message().into_string()[])); writer.flush() } @@ -158,7 +158,7 @@ impl Connection { detail: Some(format!("Invalid decoder: {}", encoding)) }) }; - self.reader.lock().read_until(b'\n').and_then(|line| + self.reader.lock().unwrap().read_until(b'\n').and_then(|line| match encoding.decode(line[], DecoderTrap::Replace) { Ok(data) => Ok(data), Err(data) => Err(IoError { @@ -174,19 +174,19 @@ impl Connection { #[experimental] #[cfg(not(feature = "encoding"))] pub fn recv(&self) -> IoResult { - self.reader.lock().read_line() + self.reader.lock().unwrap().read_line() } /// Acquires the Reader lock. #[experimental] pub fn reader<'a>(&'a self) -> MutexGuard<'a, T> { - self.reader.lock() + self.reader.lock().unwrap() } /// Acquires the Writer lock. #[experimental] pub fn writer<'a>(&'a self) -> MutexGuard<'a, U> { - self.writer.lock() + self.writer.lock().unwrap() } } diff --git a/src/server/mod.rs b/src/server/mod.rs index bc37ab7..ce941d6 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -89,7 +89,7 @@ impl<'a, T: IrcReader, U: IrcWriter> Server<'a, T, U> for IrcServer { } fn list_users(&self, chan: &str) -> Option> { - self.chanlists.lock().get(&chan.to_owned()).cloned() + self.chanlists.lock().unwrap().get(&chan.to_owned()).cloned() } } @@ -115,11 +115,12 @@ impl IrcServer { if let Some(users) = msg.suffix.clone() { if let [_, _, ref chan] = msg.args[] { for user in users.split_str(" ") { - if match self.chanlists.lock().get_mut(chan) { + if match self.chanlists.lock().unwrap().get_mut(chan) { Some(vec) => { vec.push(User::new(user)); false }, None => true, } { - self.chanlists.lock().insert(chan.clone(), vec!(User::new(user))); + self.chanlists.lock().unwrap().insert(chan.clone(), + vec!(User::new(user))); } } } @@ -136,7 +137,7 @@ impl IrcServer { } else if resp == Response::ERR_NICKNAMEINUSE || resp == Response::ERR_ERRONEOUSNICKNAME { let alt_nicks = self.config.get_alternate_nicknames(); - let mut index = self.alt_nick_index.write(); + let mut index = self.alt_nick_index.write().unwrap(); if *index.deref() >= alt_nicks.len() { panic!("All specified nicknames were in use.") } else { @@ -153,13 +154,13 @@ impl IrcServer { Some(ref suffix) => suffix[], None => msg.args[0][], }; - if let Some(vec) = self.chanlists.lock().get_mut(&String::from_str(chan)) { - if let Some(ref source) = msg.prefix { - if let Some(i) = source.find('!') { + if let Some(vec) = self.chanlists.lock().unwrap().get_mut(&String::from_str(chan)) { + if let Some(ref src) = msg.prefix { + if let Some(i) = src.find('!') { if msg.command[] == "JOIN" { - vec.push(User::new(source[..i])); + vec.push(User::new(src[..i])); } else { - if let Some(n) = vec.as_slice().position_elem(&User::new(source[..i])) { + if let Some(n) = vec.as_slice().position_elem(&User::new(src[..i])) { vec.swap_remove(n); } } @@ -167,7 +168,7 @@ impl IrcServer { } } } else if let ("MODE", [ref chan, ref mode, ref user]) = (msg.command[], msg.args[]) { - if let Some(vec) = self.chanlists.lock().get_mut(chan) { + if let Some(vec) = self.chanlists.lock().unwrap().get_mut(chan) { if let Some(n) = vec.as_slice().position_elem(&User::new(user[])) { vec[n].update_access_level(mode[]); }