1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
/// Settings for the cache.
///
/// # Examples
///
/// Create new settings, specifying the maximum number of messages:
///
/// ```rust
/// use serenity::cache::Settings as CacheSettings;
///
/// let mut settings = CacheSettings::new();
/// settings.max_messages(10);
/// ```
#[derive(Clone, Debug)]
#[non_exhaustive]
pub struct Settings {
/// The maximum number of messages to store in a channel's message cache.
///
/// Defaults to 0.
pub max_messages: usize,
}
impl Default for Settings {
fn default() -> Self {
Settings {
max_messages: usize::default(),
}
}
}
impl Settings {
/// Creates new settings to be used with a cache.
#[inline]
pub fn new() -> Self {
Self::default()
}
/// Sets the maximum number of messages to cache in a channel.
///
/// Refer to [`max_messages`] for more information.
///
/// # Examples
///
/// Set the maximum number of messages to cache:
///
/// ```rust
/// use serenity::cache::Settings;
///
/// let mut settings = Settings::new();
/// settings.max_messages(10);
/// ```
///
/// [`max_messages`]: #structfield.max_messages
pub fn max_messages(&mut self, max: usize) -> &mut Self {
self.max_messages = max;
self
}
}