mirror of
https://github.com/chatmail/core.git
synced 2026-04-20 23:16:30 +03:00
async-imap does not do its own buffering, but calls flush() after sending each command. Using BufWriter reduces the number of write() system calls used to send a single command. Note that BufWriter is set up on top of TLS streams, because we can't guarantee that TLS libraries flush the stream before waiting for response.
124 lines
2.1 KiB
Rust
124 lines
2.1 KiB
Rust
//! # Delta Chat Core Library.
|
|
|
|
#![recursion_limit = "256"]
|
|
#![forbid(unsafe_code)]
|
|
#![warn(
|
|
unused,
|
|
clippy::correctness,
|
|
missing_debug_implementations,
|
|
missing_docs,
|
|
clippy::all,
|
|
clippy::indexing_slicing,
|
|
clippy::wildcard_imports,
|
|
clippy::needless_borrow,
|
|
clippy::cast_lossless,
|
|
clippy::unused_async
|
|
)]
|
|
#![allow(
|
|
clippy::uninlined_format_args,
|
|
clippy::match_bool,
|
|
clippy::mixed_read_write_in_expression,
|
|
clippy::bool_assert_comparison,
|
|
clippy::manual_split_once,
|
|
clippy::format_push_string,
|
|
clippy::bool_to_int_with_if
|
|
)]
|
|
|
|
#[macro_use]
|
|
extern crate num_derive;
|
|
#[macro_use]
|
|
extern crate smallvec;
|
|
#[macro_use]
|
|
extern crate rusqlite;
|
|
#[macro_use]
|
|
extern crate strum_macros;
|
|
|
|
#[allow(missing_docs)]
|
|
pub trait ToSql: rusqlite::ToSql + Send + Sync {}
|
|
|
|
impl<T: rusqlite::ToSql + Send + Sync> ToSql for T {}
|
|
|
|
#[macro_use]
|
|
pub mod log;
|
|
|
|
#[cfg(feature = "internals")]
|
|
#[macro_use]
|
|
pub mod sql;
|
|
#[cfg(not(feature = "internals"))]
|
|
#[macro_use]
|
|
mod sql;
|
|
|
|
pub mod headerdef;
|
|
|
|
pub(crate) mod events;
|
|
pub use events::*;
|
|
|
|
mod aheader;
|
|
mod blob;
|
|
pub mod chat;
|
|
pub mod chatlist;
|
|
pub mod config;
|
|
mod configure;
|
|
pub mod constants;
|
|
pub mod contact;
|
|
pub mod context;
|
|
mod decrypt;
|
|
pub mod download;
|
|
mod e2ee;
|
|
pub mod ephemeral;
|
|
mod imap;
|
|
pub mod imex;
|
|
mod scheduler;
|
|
#[macro_use]
|
|
mod job;
|
|
pub mod key;
|
|
mod keyring;
|
|
pub mod location;
|
|
mod login_param;
|
|
pub mod message;
|
|
mod mimefactory;
|
|
pub mod mimeparser;
|
|
pub mod oauth2;
|
|
mod param;
|
|
pub mod peerstate;
|
|
pub mod pgp;
|
|
pub mod provider;
|
|
pub mod qr;
|
|
pub mod qr_code_generator;
|
|
pub mod quota;
|
|
pub mod securejoin;
|
|
mod simplify;
|
|
mod smtp;
|
|
mod socks;
|
|
pub mod stock_str;
|
|
mod sync;
|
|
mod token;
|
|
mod update_helper;
|
|
pub mod webxdc;
|
|
#[macro_use]
|
|
mod dehtml;
|
|
mod authres;
|
|
mod color;
|
|
pub mod html;
|
|
mod net;
|
|
pub mod plaintext;
|
|
mod ratelimit;
|
|
pub mod summary;
|
|
|
|
pub mod receive_imf;
|
|
pub mod tools;
|
|
|
|
pub mod accounts;
|
|
pub mod reaction;
|
|
|
|
/// if set imap/incoming and smtp/outgoing MIME messages will be printed
|
|
pub const DCC_MIME_DEBUG: &str = "DCC_MIME_DEBUG";
|
|
|
|
#[cfg(test)]
|
|
mod test_utils;
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
#[cfg(fuzzing)]
|
|
pub mod fuzzing;
|