Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn return_channel(channel_name: String, channels: &mut Arc<Mutex<Vec<Channel>>>, user: &mut User) -> Channel{
- let mut chan_lock = channels.lock();
- let found_channel = chan_lock.mut_iter().filter(|chan| chan.name == channel_name).next();
- match found_channel{
- None => {
- let channel = Channel{name: channel_name, members: vec!(user.clone())};
- chan_lock.push(channel.clone());
- println!("after chan mutation {}", *chan_lock);
- channel
- },
- Some(chan) => {
- println!("Adding new members to channel");
- chan.members.push(user.clone());
- println!("after chan mutation {}", *chan_lock);
- println!("Matched channel: {}", chan);
- chan.clone()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement