Enum used to communicate relevant data to the threadpool.
Struct holding data about an individual podcast episode. Most of this
is metadata, but if the episode has been downloaded to the local
machine, the filepath will be included here as well. played
indicates whether the podcast has been marked as played or unplayed.
Struct holding data about an individual podcast episode, before it
has been inserted into the database.
Struct holding data about an individual podcast episode, specifically
for the popup window that asks users which new episodes they wish to
download.
Struct holding data about an individual podcast feed. This includes a
(possibly empty) vector of episodes.
Struct holding data about an individual podcast feed, before it has
been inserted into the database. This includes a
(possibly empty) vector of episodes.
Manages a threadpool of a given size, sending jobs to workers as
necessary. Implements Drop trait to allow threads to complete
their current jobs before being stopped.