1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
//! A Financial Information eXchange //! ([FIX](https://www.fixtrading.org/standards/)) protocol implementation in Rust. //! //! FerrumFIX is a collection of reusable components to produce and consume //! FIX-compliant data. It is *not* a FIX engine, although you can very easily //! build one with FerrumFIX. FerrumFIX is: //! //! - **Unopinionated**. FerrumFIX takes care of every little detail of the FIX //! specification, but no configurations or decisions are mandated to the user //! (as much as practically feasible). //! - **Comprehensive**. Most standards adopted by the FIX Community are //! available, from [transport] and [session] layers to [encodings](encoders) and //! dictionary-related [application](app) logic. //! - **Foundational**. FerrumFIX is foundational in the sense that it exposes a //! large amount of primitives in its public interface, so that users can //! easily build upon them to implement custom solutions tailored for their //! needs. Multiple FIX message data structures are available. //! - **Fast**. We favor configuration via trait specialization in code rather //! than files. This results in much faster code at the cost of compilation speed //! and code size. //! //! Please check out the [README](https://github.com/neysofu/fefix/) for more //! general information regarding FerrumFIX. #![deny(unused, missing_debug_implementations, clippy::useless_conversion)] pub mod app; pub mod codec; mod dictionary; pub mod engines; mod fix_codegen; pub mod session; mod stream_iterator; pub mod transport; pub mod utils; pub use dictionary::{Dictionary, MsgType}; pub use fefix_derive::*; pub use fix_codegen::codegen; pub use stream_iterator::StreamIterator; #[cfg(expose_openssl)] pub extern crate openssl; #[cfg(not(expose_openssl))] pub(crate) extern crate openssl;