ironfix_core/lib.rs
1/******************************************************************************
2 Author: Joaquín Béjar García
3 Email: jb@taunais.com
4 Date: 27/1/26
5******************************************************************************/
6
7//! # IronFix Core
8//!
9//! Core types, traits, and error definitions for the IronFix FIX protocol engine.
10//!
11//! This crate provides the fundamental building blocks used across all IronFix crates:
12//! - **Error types**: Unified error handling with `thiserror`
13//! - **Field types**: `FieldTag`, `FieldValue`, and the `FixField` trait
14//! - **Message types**: `RawMessage`, `OwnedMessage`, and the `FixMessage` trait
15//! - **Core types**: `SeqNum`, `Timestamp`, `CompID`, `MsgType`
16//!
17//! ## Zero-Copy Design
18//!
19//! The core abstractions support both zero-copy borrowed views (for hot-path processing)
20//! and owned representations (for storage and cross-thread transfer).
21
22pub mod error;
23pub mod field;
24pub mod message;
25pub mod types;
26
27pub use error::{DecodeError, EncodeError, FixError, Result, SessionError, StoreError};
28pub use field::{FieldRef, FieldTag, FieldValue, FixField};
29pub use message::{FixMessage, MsgType, OwnedMessage, RawMessage};
30pub use types::{CompId, SeqNum, Side, Timestamp};