imdl 0.1.16

📦 A 40' shipping container for the internet
Documentation
pub(crate) use {
  crate::{
    arguments::Arguments, bytes::Bytes, consts, env::Env, error, error::Error,
    file_error::FileError, file_info::FileInfo, file_path::FilePath, file_status::FileStatus,
    files::Files, hasher::Hasher, host_port::HostPort, host_port_parse_error,
    host_port_parse_error::HostPortParseError, info::Info, infohash::Infohash, input::Input,
    input_stream::InputStream, input_target::InputTarget, into_u64::IntoU64, into_usize::IntoUsize,
    invariant::Invariant, lint::Lint, linter::Linter, magnet_link::MagnetLink,
    magnet_link_parse_error, magnet_link_parse_error::MagnetLinkParseError, md5_digest::Md5Digest,
    metainfo::Metainfo, metainfo_error::MetainfoError, mode::Mode, options::Options,
    output_stream::OutputStream, output_target::OutputTarget, peer,
    piece_length_picker::PieceLengthPicker, piece_list::PieceList, platform::Platform,
    platform_interface::PlatformInterface, print::Print, reckoner::Reckoner,
    sha1_digest::Sha1Digest, shell::Shell, sort_key::SortKey, sort_order::SortOrder,
    sort_spec::SortSpec, status::Status, step::Step, style::Style, subcommand::Subcommand,
    table::Table, torrent_summary::TorrentSummary, tracker, use_color::UseColor,
    verifier::Verifier, walker::Walker, xor_args::xor_args,
  },
  bendy::{decoding::FromBencode, encoding::ToBencode, value::Value},
  chrono::{TimeZone, Utc},
  globset::{Glob, GlobMatcher},
  ignore::WalkBuilder,
  indicatif::{ProgressBar, ProgressStyle},
  lexiclean::Lexiclean,
  libc::EXIT_FAILURE,
  rand::{Rng, RngExt},
  regex::{Regex, RegexSet},
  serde::{de::Error as _, Deserialize, Deserializer, Serialize, Serializer},
  serde_hex::SerHex,
  serde_with::rust::unwrap_or_skip,
  sha1_smol::Sha1,
  snafu::{ResultExt, Snafu},
  static_assertions::const_assert,
  std::{
    borrow::Cow,
    char,
    cmp::{Ordering, Reverse},
    collections::{BTreeMap, BTreeSet, HashMap, HashSet},
    convert::{TryFrom, TryInto},
    env,
    ffi::{OsStr, OsString},
    fmt::{self, Display, Formatter},
    fs::{self, File},
    hash::Hash,
    io::{self, BufRead, BufReader, Cursor, Read, Write},
    iter::{self, Sum},
    net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, TcpStream, ToSocketAddrs, UdpSocket},
    num::{ParseFloatError, ParseIntError, TryFromIntError},
    ops::{AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign},
    path::{self, Path, PathBuf},
    str::{self, FromStr},
    string::FromUtf8Error,
    sync::{mpsc::channel, Once},
    time::{Duration, SystemTime, SystemTimeError},
  },
  structopt::{
    clap::{self, AppSettings},
    StructOpt,
  },
  strum::{EnumIter, EnumString, IntoEnumIterator, IntoStaticStr, VariantNames},
  unicode_width::UnicodeWidthStr,
  url::{Host, Url},
};

#[allow(unused_imports)]
pub(crate) use log::trace;

pub(crate) type Result<T, E = Error> = std::result::Result<T, E>;

#[cfg(test)]
pub(crate) use {
  crate::{capture::Capture, test_env::TestEnv, test_env_builder::TestEnvBuilder},
  std::{
    cell::RefCell,
    net::TcpListener,
    ops::{Deref, DerefMut},
    process::Command,
    rc::Rc,
    thread,
  },
  tempfile::TempDir,
  temptree::temptree,
};