Advertisement
Guest User

Untitled

a guest
Aug 20th, 2014
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. fn return_channel(channel_name: String, channels: &mut Arc<Mutex<Vec<Channel>>>, user: &mut User) -> Channel{
  2. let mut chan_lock = channels.lock();
  3. let found_channel = chan_lock.mut_iter().filter(|chan| chan.name == channel_name).next();
  4. match found_channel{
  5. None => {
  6. let channel = Channel{name: channel_name, members: vec!(user.clone())};
  7. chan_lock.push(channel.clone());
  8. println!("after chan mutation {}", *chan_lock);
  9. channel
  10. },
  11. Some(chan) => {
  12. println!("Adding new members to channel");
  13. chan.members.push(user.clone());
  14. println!("after chan mutation {}", *chan_lock);
  15. println!("Matched channel: {}", chan);
  16. chan.clone()
  17. }
  18. }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement