From 93e0a4215c915b98cf433ac6d0bcfbc60f0168ec Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Tue, 10 Oct 2017 20:08:11 -0700 Subject: Switch to parking_lot::{Mutex, RwLock} Switch to the `parking_lot` crate's implementations of `std::sync::Mutex` and `std::sync::RwLock`, which are more efficient. A writeup on why `parking_lot` is more efficient can be read here: Upgrade path: Modify `mutex.lock().unwrap()` usage to `mutex.lock()` (not needing to unwrap or handle a result), and `rwlock.read().unwrap()`/`rwlock.write().unwrap()` usage to `rwlock.read()` and `rwlock.write()`. For example, modify: ```rust use serenity::CACHE; println!("{}", CACHE.read().unwrap().user.id); ``` to: ```rust use serenity::CACHE; println!("{}", CACHE.read().user.id); ``` --- src/builder/create_embed.rs | 10 +++++----- src/builder/create_invite.rs | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src/builder') diff --git a/src/builder/create_embed.rs b/src/builder/create_embed.rs index a6b264c..f7dc0b1 100644 --- a/src/builder/create_embed.rs +++ b/src/builder/create_embed.rs @@ -249,20 +249,20 @@ impl CreateEmbed { /// impl EventHandler for Handler { /// fn on_guild_member_addition(&self, _: Context, guild_id: GuildId, member: Member) { /// use serenity::client::CACHE; - /// let cache = CACHE.read().unwrap(); + /// let cache = CACHE.read(); /// /// if let Some(guild) = cache.guild(guild_id) { - /// let guild = guild.read().unwrap(); + /// let guild = guild.read(); /// /// let channel_search = guild /// .channels /// .values() - /// .find(|c| c.read().unwrap().name == "join-log"); + /// .find(|c| c.read().name == "join-log"); /// /// if let Some(channel) = channel_search { - /// let user = member.user.read().unwrap(); + /// let user = member.user.read(); /// - /// let _ = channel.read().unwrap().send_message(|m| m + /// let _ = channel.read().send_message(|m| m /// .embed(|e| { /// let mut e = e /// .author(|a| a.icon_url(&user.face()).name(&user.name)) diff --git a/src/builder/create_invite.rs b/src/builder/create_invite.rs index 5f4f0bf..d719c17 100644 --- a/src/builder/create_invite.rs +++ b/src/builder/create_invite.rs @@ -21,7 +21,7 @@ use internal::prelude::*; /// fn on_message(&self, _: Context, msg: Message) { /// use serenity::client::CACHE; /// if msg.content == "!createinvite" { -/// let channel = match CACHE.read().unwrap().guild_channel(msg.channel_id) { +/// let channel = match CACHE.read().guild_channel(msg.channel_id) { /// Some(channel) => channel, /// None => { /// let _ = msg.channel_id.say("Error creating invite"); @@ -30,7 +30,7 @@ use internal::prelude::*; /// }, /// }; /// -/// let reader = channel.read().unwrap(); +/// let reader = channel.read(); /// /// let invite = match reader.create_invite(|i| i.max_age(3600).max_uses(10)) { /// Ok(invite) => invite, @@ -77,8 +77,8 @@ impl CreateInvite { /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box> { - /// # let channel = CACHE.read().unwrap().guild_channel(81384788765712384).unwrap(); - /// # let channel = channel.read().unwrap(); + /// # let channel = CACHE.read().guild_channel(81384788765712384).unwrap(); + /// # let channel = channel.read(); /// # /// let invite = channel.create_invite(|i| i.max_age(3600))?; /// # Ok(()) @@ -111,8 +111,8 @@ impl CreateInvite { /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box> { - /// # let channel = CACHE.read().unwrap().guild_channel(81384788765712384).unwrap(); - /// # let channel = channel.read().unwrap(); + /// # let channel = CACHE.read().guild_channel(81384788765712384).unwrap(); + /// # let channel = channel.read(); /// # /// let invite = channel.create_invite(|i| i.max_uses(5))?; /// # Ok(()) @@ -143,8 +143,8 @@ impl CreateInvite { /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box> { - /// # let channel = CACHE.read().unwrap().guild_channel(81384788765712384).unwrap(); - /// # let channel = channel.read().unwrap(); + /// # let channel = CACHE.read().guild_channel(81384788765712384).unwrap(); + /// # let channel = channel.read(); /// # /// let invite = channel.create_invite(|i| i.temporary(true))?; /// # Ok(()) @@ -175,8 +175,8 @@ impl CreateInvite { /// # use std::error::Error; /// # /// # fn try_main() -> Result<(), Box> { - /// # let channel = CACHE.read().unwrap().guild_channel(81384788765712384).unwrap(); - /// # let channel = channel.read().unwrap(); + /// # let channel = CACHE.read().guild_channel(81384788765712384).unwrap(); + /// # let channel = channel.read(); /// # /// let invite = channel.create_invite(|i| i.unique(true))?; /// # Ok(()) -- cgit v1.2.3