[package] name = "fefix" version = "0.7.0" edition = "2021" authors = ["Filippo Costa @neysofu"] homepage = "https://github.com/ferrumfix/ferrumfix" repository = "https://github.com/ferrumfix/ferrumfix" description = "FIX & FAST (FIX Adapted for STreaming) in pure Rust." publish = true readme = "README.md" keywords = ["fix", "fast", "protocol", "finance", "fintech"] categories = ["network-programming", "parser-implementations", "encoding"] license = "MIT OR Apache-2.0" # https://stackoverflow.com/q/61417452/ # Test locally using `RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features`. [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "doc_cfg"] [lib] name = "fefix" [[bench]] name = "fix_decode" harness = false [features] default = ["utils-openssl", "utils-tokio", "utils-chrono"] codegen = ["heck", "indoc"] derive = [] json-encoding = [] fix40 = [] fix41 = [] fix42 = [] fix43 = [] fix44 = [] fix50 = [] fix50sp1 = [] fix50sp2 = [] fixt11 = [] # Third-party crate integration. utils-bytes = ["bytes"] utils-chrono = [] utils-decimal = ["decimal"] utils-openssl = ["openssl"] utils-rust-decimal = ["rust_decimal"] utils-slog = ["slog"] utils-tokio = ["tokio-util", "utils-bytes"] full = [ "codegen", "derive", "json-encoding", "fix40", "fix41", "fix42", "fix43", "fix50", "fix50sp1", "fix50sp2", "fixt11", "utils-bytes", "utils-chrono", "utils-decimal", "utils-openssl", "utils-rust-decimal", "utils-slog", "utils-tokio", ] [dependencies] bitvec = "0.18.3" bytes = { version = "1", optional = true } chrono = "0.4" decimal = { version = "2", optional = true } fefix_derive = { version = "0.7", path = "../fefix_derive" } fnv = "1" futures = "0.3" futures-timer = "3" heck = { version = "0.3", optional = true } indoc = { version = "1", optional = true } nohash-hasher = "0.2" lazy_static = "1" openssl = { version = "0.10", optional = true } # For reading XML. roxmltree = "0.14" rust_decimal = { version = "1", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = "1" slog = { version = "2", optional = true } sqlx = { version = "0.5", features = ["runtime-tokio-rustls", "postgres"] } strum = "0.22" strum_macros = "0.22" thiserror = "1" tokio-util = { version = "0.6", optional = true, features = ["codec", "compat"] } uuid = { version = "0.8.1", features = ["v4"] } [build-dependencies] chrono = "0.4" fnv = "1" heck = "0.3" indoc = "1" lazy_static = "1" quick-xml = "0.22" roxmltree = "0.14" rayon = "1" strum = "0.22" strum_macros = "0.22" [dev-dependencies] arbitrary = { version = "1.0", features = ["derive"] } criterion = { version = "0.3", features = ["html_reports"] } enum-as-inner = "0.3" quickcheck = "1" quickcheck_derive = "0.3" quickcheck_macros = "1" tokio = { version = "1", features = ["full"] } syn = { version = "1", features = ["parsing"] }