pub struct NewsFeedContext<'a, HS, HV, HC>where
HS: BuildHasher + Send + Sync + 'static,
HV: BuildHasher + Send + Sync + 'static,
HC: BuildHasher + Send + Sync + 'static,{Show 13 fields
pub force_emit_all: bool,
pub updates_list_path: Option<PathBuf>,
pub limit: usize,
pub include_arch_news: bool,
pub include_advisories: bool,
pub include_pkg_updates: bool,
pub include_aur_comments: bool,
pub installed_filter: Option<&'a HashSet<String, HS>>,
pub installed_only: bool,
pub sort_mode: NewsSortMode,
pub seen_pkg_versions: &'a mut HashMap<String, String, HV>,
pub seen_aur_comments: &'a mut HashMap<String, String, HC>,
pub max_age_days: Option<u32>,
}Expand description
What: Input context for fetching a combined news feed.
Inputs:
limit: Maximum number of items per source.include_*: Source toggles.installed_filter: Optional installed-package set for scoping.installed_only: Whether to restrict advisories to installed packages.sort_mode: Sort order.seen_pkg_versions: Last-seen map for package updates.seen_aur_comments: Last-seen map for AUR comments.max_age_days: Optional maximum age in days for filtering items (enables early filtering).
Output:
- Mutable references updated in place alongside returned feed items.
Details:
- Hashers are generic to remain compatible with caller-supplied maps.
max_age_daysenables early date filtering during fetch to improve performance.
Fields§
§force_emit_all: boolEmit all sources even on first run (bypasses baseline gating).
updates_list_path: Option<PathBuf>Optional path to available_updates.txt for filtering noisy first-run emissions.
limit: usizeMaximum number of items per source.
include_arch_news: boolWhether to include Arch news RSS posts.
include_advisories: boolWhether to include security advisories.
include_pkg_updates: boolWhether to include installed package updates.
include_aur_comments: boolWhether to include installed AUR comments.
installed_filter: Option<&'a HashSet<String, HS>>Optional installed-package filter set.
installed_only: boolWhether to restrict advisories to installed packages.
sort_mode: NewsSortModeSort mode for the resulting feed.
seen_pkg_versions: &'a mut HashMap<String, String, HV>Last-seen versions map (updated in place).
seen_aur_comments: &'a mut HashMap<String, String, HC>Last-seen AUR comments map (updated in place).
max_age_days: Option<u32>Optional maximum age in days for early date filtering during fetch.
Auto Trait Implementations§
impl<'a, HS, HV, HC> Freeze for NewsFeedContext<'a, HS, HV, HC>
impl<'a, HS, HV, HC> RefUnwindSafe for NewsFeedContext<'a, HS, HV, HC>
impl<'a, HS, HV, HC> Send for NewsFeedContext<'a, HS, HV, HC>
impl<'a, HS, HV, HC> Sync for NewsFeedContext<'a, HS, HV, HC>
impl<'a, HS, HV, HC> Unpin for NewsFeedContext<'a, HS, HV, HC>
impl<'a, HS, HV, HC> !UnwindSafe for NewsFeedContext<'a, HS, HV, HC>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more