Skip to content

Commit 54a3593

Browse files
Switch from Arc<Vec<RoleReward>> to Arc<[RoleReward]>
1 parent 5c5c5ed commit 54a3593

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

xpd-listener/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub struct XpdListenerInner {
6363
#[allow(unused)]
6464
task_tracker: TaskTracker,
6565
configs: DashMap<Id<GuildMarker>, Arc<GuildConfig>>,
66-
rewards: DashMap<Id<GuildMarker>, Arc<Vec<RoleReward>>>,
66+
rewards: DashMap<Id<GuildMarker>, Arc<[RoleReward]>>,
6767
bot_id: Id<UserMarker>,
6868
}
6969

@@ -123,21 +123,21 @@ impl XpdListenerInner {
123123
pub async fn invalidate_rewards(&self, guild: Id<GuildMarker>) -> Result<(), Error> {
124124
let mut new_rewards = xpd_database::guild_rewards(&self.db, guild).await?;
125125
new_rewards.sort_by(xpd_common::compare_rewards_requirement);
126-
self.rewards.insert(guild, Arc::new(new_rewards));
126+
self.rewards.insert(guild, new_rewards.into());
127127
Ok(())
128128
}
129129

130130
pub async fn get_guild_rewards(
131131
&self,
132132
guild_id: Id<GuildMarker>,
133-
) -> Result<Arc<Vec<RoleReward>>, Error> {
133+
) -> Result<Arc<[RoleReward]>, Error> {
134134
if let Some(rewards) = self.rewards.get(&guild_id) {
135-
return Ok(Arc::clone(&rewards));
135+
return Ok(rewards.clone());
136136
}
137137
let mut rewards = xpd_database::guild_rewards(&self.db, guild_id).await?;
138138
rewards.sort_by(xpd_common::compare_rewards_requirement);
139139

140-
let new_copy = Arc::new(rewards);
140+
let new_copy: Arc<[RoleReward]> = rewards.into();
141141
self.rewards.insert(guild_id, new_copy.clone());
142142
Ok(new_copy)
143143
}

0 commit comments

Comments
 (0)