1#![doc = include_str!("../README.md")]
2#![deny(unsafe_code)]
3#![warn(
4 clippy::all,
5 clippy::await_holding_lock,
6 clippy::char_lit_as_u8,
7 clippy::checked_conversions,
8 clippy::clone_on_ref_ptr,
9 clippy::dbg_macro,
10 clippy::debug_assert_with_mut_call,
11 clippy::doc_markdown,
12 clippy::empty_enum,
13 clippy::enum_glob_use,
14 clippy::exit,
15 clippy::expl_impl_clone_on_copy,
16 clippy::explicit_deref_methods,
17 clippy::explicit_into_iter_loop,
18 clippy::fallible_impl_from,
19 clippy::filter_map_next,
20 clippy::flat_map_option,
21 clippy::float_cmp_const,
22 clippy::fn_params_excessive_bools,
23 clippy::from_iter_instead_of_collect,
24 clippy::if_let_mutex,
25 clippy::implicit_clone,
26 clippy::imprecise_flops,
27 clippy::indexing_slicing,
28 clippy::inefficient_to_string,
29 clippy::invalid_upcast_comparisons,
30 clippy::large_digit_groups,
31 clippy::large_stack_arrays,
32 clippy::large_types_passed_by_value,
33 clippy::let_unit_value,
34 clippy::linkedlist,
35 clippy::lossy_float_literal,
36 clippy::macro_use_imports,
37 clippy::manual_ok_or,
38 clippy::map_err_ignore,
39 clippy::map_flatten,
40 clippy::map_unwrap_or,
41 clippy::match_same_arms,
42 clippy::match_wild_err_arm,
43 clippy::match_wildcard_for_single_variants,
44 clippy::mem_forget,
45 clippy::missing_enforced_import_renames,
46 clippy::mut_mut,
47 clippy::mutex_integer,
48 clippy::needless_borrow,
49 clippy::needless_continue,
50 clippy::needless_for_each,
51 clippy::option_option,
52 clippy::path_buf_push_overwrite,
53 clippy::ptr_as_ptr,
54 clippy::rc_mutex,
55 clippy::ref_option_ref,
56 clippy::rest_pat_in_fully_bound_structs,
57 clippy::same_functions_in_if_condition,
58 clippy::semicolon_if_nothing_returned,
59 clippy::single_match_else,
60 clippy::string_add_assign,
61 clippy::string_add,
62 clippy::string_lit_as_bytes,
63 clippy::string_to_string,
64 clippy::todo,
65 clippy::trait_duplication_in_bounds,
66 clippy::unimplemented,
67 clippy::unnested_or_patterns,
68 clippy::unused_self,
69 clippy::useless_transmute,
70 clippy::verbose_file_reads,
71 clippy::zero_sized_map_values,
72 future_incompatible,
73 nonstandard_style,
74 rust_2018_idioms,
75 unexpected_cfgs
76)]
77#![allow(clippy::unused_self, clippy::single_match_else, clippy::todo)]
78
79mod config;
80mod context;
81mod coordinator;
82mod dispatcher;
83mod drainer;
84mod error;
85mod executor;
86mod firehose;
87mod job_envelope;
88mod launcher;
89mod queue;
90mod result_collector;
91mod semaphores_map;
92mod storage;
93mod storage_builder;
94mod storage_internal;
95mod throttler;
96mod worker;
97mod worker_event;
98mod worker_registry;
99
100#[cfg(test)]
101mod test_helper;
102
103pub use crate::config::Config;
104pub use crate::context::Context;
105pub use crate::drainer::drain;
106pub use crate::error::OxanusError;
107pub use crate::job_envelope::JobId;
108pub use crate::launcher::run;
109pub use crate::queue::{Queue, QueueConfig, QueueKind, QueueThrottle};
110pub use crate::storage::Storage;
111pub use crate::storage_builder::StorageBuilder;
112pub use crate::worker::Worker;