pub struct Channel {Show 22 fields
pub task_sender: Sender<QueuedItem<TaskEvent>>,
pub task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskEvent>>>>,
pub request_sender: Sender<QueuedItem<Request>>,
pub request_receiver: Arc<Mutex<Receiver<QueuedItem<Request>>>>,
pub download_request_sender: Sender<QueuedItem<Request>>,
pub download_request_receiver: Arc<Mutex<Receiver<QueuedItem<Request>>>>,
pub response_sender: Sender<QueuedItem<Response>>,
pub response_receiver: Arc<Mutex<Receiver<QueuedItem<Response>>>>,
pub error_sender: Sender<QueuedItem<TaskErrorEvent>>,
pub error_receiver: Arc<Mutex<Receiver<QueuedItem<TaskErrorEvent>>>>,
pub log_sender: Sender<QueuedItem<LogModel>>,
pub log_receiver: Arc<Mutex<Receiver<QueuedItem<LogModel>>>>,
pub parser_task_sender: Sender<QueuedItem<TaskParserEvent>>,
pub parser_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskParserEvent>>>>,
pub remote_response_sender: Sender<QueuedItem<Response>>,
pub remote_response_receiver: Arc<Mutex<Receiver<QueuedItem<Response>>>>,
pub remote_parser_task_sender: Sender<QueuedItem<TaskParserEvent>>,
pub remote_parser_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskParserEvent>>>>,
pub remote_error_sender: Sender<QueuedItem<TaskErrorEvent>>,
pub remote_error_receiver: Arc<Mutex<Receiver<QueuedItem<TaskErrorEvent>>>>,
pub remote_task_sender: Sender<QueuedItem<TaskEvent>>,
pub remote_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskEvent>>>>,
}Expand description
Message queue channel manager.
Data flow:
- Task Flow: watch TaskModel -> produce Request
- Request Flow: watch Request -> download -> produce Response
- Response Flow: watch Response -> parse -> finish, or produce a new Request
Fields§
§task_sender: Sender<QueuedItem<TaskEvent>>§task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskEvent>>>>§request_sender: Sender<QueuedItem<Request>>§request_receiver: Arc<Mutex<Receiver<QueuedItem<Request>>>>§download_request_sender: Sender<QueuedItem<Request>>§download_request_receiver: Arc<Mutex<Receiver<QueuedItem<Request>>>>§response_sender: Sender<QueuedItem<Response>>§response_receiver: Arc<Mutex<Receiver<QueuedItem<Response>>>>§error_sender: Sender<QueuedItem<TaskErrorEvent>>§error_receiver: Arc<Mutex<Receiver<QueuedItem<TaskErrorEvent>>>>§log_sender: Sender<QueuedItem<LogModel>>§log_receiver: Arc<Mutex<Receiver<QueuedItem<LogModel>>>>§parser_task_sender: Sender<QueuedItem<TaskParserEvent>>§parser_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskParserEvent>>>>§remote_response_sender: Sender<QueuedItem<Response>>§remote_response_receiver: Arc<Mutex<Receiver<QueuedItem<Response>>>>§remote_parser_task_sender: Sender<QueuedItem<TaskParserEvent>>§remote_parser_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskParserEvent>>>>§remote_error_sender: Sender<QueuedItem<TaskErrorEvent>>§remote_error_receiver: Arc<Mutex<Receiver<QueuedItem<TaskErrorEvent>>>>§remote_task_sender: Sender<QueuedItem<TaskEvent>>§remote_task_receiver: Arc<Mutex<Receiver<QueuedItem<TaskEvent>>>>Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Channel
impl !UnwindSafe for Channel
impl Freeze for Channel
impl Send for Channel
impl Sync for Channel
impl Unpin for Channel
impl UnsafeUnpin for Channel
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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