quickfix-tokio 0.2.0

A pure-Rust FIX protocol engine built natively on tokio
Documentation
//! GENERATED by `generate-fix` — do not edit by hand.
#![allow(clippy::all, unused_imports, unused_mut, dead_code, non_upper_case_globals)]

//! Typed messages for FIX.4.4 — generated from its spec XML.

pub mod fields;
pub mod messages;
pub use messages::*;

pub const BEGIN_STRING: &str = "FIX.4.4";

/// Every message type of this FIX version, for typed dispatch.
#[derive(Debug, Clone)]
pub enum AnyMessage {
    Advertisement(messages::advertisement::Advertisement),
    AllocationInstruction(messages::allocation_instruction::AllocationInstruction),
    AllocationInstructionAck(messages::allocation_instruction_ack::AllocationInstructionAck),
    AllocationReport(messages::allocation_report::AllocationReport),
    AllocationReportAck(messages::allocation_report_ack::AllocationReportAck),
    AssignmentReport(messages::assignment_report::AssignmentReport),
    BidRequest(messages::bid_request::BidRequest),
    BidResponse(messages::bid_response::BidResponse),
    BusinessMessageReject(messages::business_message_reject::BusinessMessageReject),
    CollateralAssignment(messages::collateral_assignment::CollateralAssignment),
    CollateralInquiry(messages::collateral_inquiry::CollateralInquiry),
    CollateralInquiryAck(messages::collateral_inquiry_ack::CollateralInquiryAck),
    CollateralReport(messages::collateral_report::CollateralReport),
    CollateralRequest(messages::collateral_request::CollateralRequest),
    CollateralResponse(messages::collateral_response::CollateralResponse),
    Confirmation(messages::confirmation::Confirmation),
    ConfirmationAck(messages::confirmation_ack::ConfirmationAck),
    ConfirmationRequest(messages::confirmation_request::ConfirmationRequest),
    CrossOrderCancelReplaceRequest(messages::cross_order_cancel_replace_request::CrossOrderCancelReplaceRequest),
    CrossOrderCancelRequest(messages::cross_order_cancel_request::CrossOrderCancelRequest),
    DerivativeSecurityList(messages::derivative_security_list::DerivativeSecurityList),
    DerivativeSecurityListRequest(messages::derivative_security_list_request::DerivativeSecurityListRequest),
    DontKnowTrade(messages::dont_know_trade::DontKnowTrade),
    Email(messages::email::Email),
    ExecutionReport(messages::execution_report::ExecutionReport),
    Heartbeat(messages::heartbeat::Heartbeat),
    IOI(messages::ioi::IOI),
    ListCancelRequest(messages::list_cancel_request::ListCancelRequest),
    ListExecute(messages::list_execute::ListExecute),
    ListStatus(messages::list_status::ListStatus),
    ListStatusRequest(messages::list_status_request::ListStatusRequest),
    ListStrikePrice(messages::list_strike_price::ListStrikePrice),
    Logon(messages::logon::Logon),
    Logout(messages::logout::Logout),
    MarketDataIncrementalRefresh(messages::market_data_incremental_refresh::MarketDataIncrementalRefresh),
    MarketDataRequest(messages::market_data_request::MarketDataRequest),
    MarketDataRequestReject(messages::market_data_request_reject::MarketDataRequestReject),
    MarketDataSnapshotFullRefresh(messages::market_data_snapshot_full_refresh::MarketDataSnapshotFullRefresh),
    MassQuote(messages::mass_quote::MassQuote),
    MassQuoteAcknowledgement(messages::mass_quote_acknowledgement::MassQuoteAcknowledgement),
    MultilegOrderCancelReplace(messages::multileg_order_cancel_replace::MultilegOrderCancelReplace),
    NetworkCounterpartySystemStatusRequest(messages::network_counterparty_system_status_request::NetworkCounterpartySystemStatusRequest),
    NetworkCounterpartySystemStatusResponse(messages::network_counterparty_system_status_response::NetworkCounterpartySystemStatusResponse),
    NewOrderCross(messages::new_order_cross::NewOrderCross),
    NewOrderList(messages::new_order_list::NewOrderList),
    NewOrderMultileg(messages::new_order_multileg::NewOrderMultileg),
    NewOrderSingle(messages::new_order_single::NewOrderSingle),
    News(messages::news::News),
    OrderCancelReject(messages::order_cancel_reject::OrderCancelReject),
    OrderCancelReplaceRequest(messages::order_cancel_replace_request::OrderCancelReplaceRequest),
    OrderCancelRequest(messages::order_cancel_request::OrderCancelRequest),
    OrderMassCancelReport(messages::order_mass_cancel_report::OrderMassCancelReport),
    OrderMassCancelRequest(messages::order_mass_cancel_request::OrderMassCancelRequest),
    OrderMassStatusRequest(messages::order_mass_status_request::OrderMassStatusRequest),
    OrderStatusRequest(messages::order_status_request::OrderStatusRequest),
    PositionMaintenanceReport(messages::position_maintenance_report::PositionMaintenanceReport),
    PositionMaintenanceRequest(messages::position_maintenance_request::PositionMaintenanceRequest),
    PositionReport(messages::position_report::PositionReport),
    Quote(messages::quote::Quote),
    QuoteCancel(messages::quote_cancel::QuoteCancel),
    QuoteRequest(messages::quote_request::QuoteRequest),
    QuoteRequestReject(messages::quote_request_reject::QuoteRequestReject),
    QuoteResponse(messages::quote_response::QuoteResponse),
    QuoteStatusReport(messages::quote_status_report::QuoteStatusReport),
    QuoteStatusRequest(messages::quote_status_request::QuoteStatusRequest),
    RFQRequest(messages::rfq_request::RFQRequest),
    RegistrationInstructions(messages::registration_instructions::RegistrationInstructions),
    RegistrationInstructionsResponse(messages::registration_instructions_response::RegistrationInstructionsResponse),
    Reject(messages::reject::Reject),
    RequestForPositions(messages::request_for_positions::RequestForPositions),
    RequestForPositionsAck(messages::request_for_positions_ack::RequestForPositionsAck),
    ResendRequest(messages::resend_request::ResendRequest),
    SecurityDefinition(messages::security_definition::SecurityDefinition),
    SecurityDefinitionRequest(messages::security_definition_request::SecurityDefinitionRequest),
    SecurityList(messages::security_list::SecurityList),
    SecurityListRequest(messages::security_list_request::SecurityListRequest),
    SecurityStatus(messages::security_status::SecurityStatus),
    SecurityStatusRequest(messages::security_status_request::SecurityStatusRequest),
    SecurityTypeRequest(messages::security_type_request::SecurityTypeRequest),
    SecurityTypes(messages::security_types::SecurityTypes),
    SequenceReset(messages::sequence_reset::SequenceReset),
    SettlementInstructionRequest(messages::settlement_instruction_request::SettlementInstructionRequest),
    SettlementInstructions(messages::settlement_instructions::SettlementInstructions),
    TestRequest(messages::test_request::TestRequest),
    TradeCaptureReport(messages::trade_capture_report::TradeCaptureReport),
    TradeCaptureReportAck(messages::trade_capture_report_ack::TradeCaptureReportAck),
    TradeCaptureReportRequest(messages::trade_capture_report_request::TradeCaptureReportRequest),
    TradeCaptureReportRequestAck(messages::trade_capture_report_request_ack::TradeCaptureReportRequestAck),
    TradingSessionStatus(messages::trading_session_status::TradingSessionStatus),
    TradingSessionStatusRequest(messages::trading_session_status_request::TradingSessionStatusRequest),
    UserRequest(messages::user_request::UserRequest),
    UserResponse(messages::user_response::UserResponse),
    /// MsgType not defined by this dictionary.
    Unknown(crate::Message),
}

/// Classify a generic message into its typed representation.
pub fn classify(msg: crate::Message) -> AnyMessage {
    match msg.msg_type().ok().as_deref().unwrap_or("") {
        "7" => AnyMessage::Advertisement(messages::advertisement::Advertisement(msg)),
        "J" => AnyMessage::AllocationInstruction(messages::allocation_instruction::AllocationInstruction(msg)),
        "P" => AnyMessage::AllocationInstructionAck(messages::allocation_instruction_ack::AllocationInstructionAck(msg)),
        "AS" => AnyMessage::AllocationReport(messages::allocation_report::AllocationReport(msg)),
        "AT" => AnyMessage::AllocationReportAck(messages::allocation_report_ack::AllocationReportAck(msg)),
        "AW" => AnyMessage::AssignmentReport(messages::assignment_report::AssignmentReport(msg)),
        "k" => AnyMessage::BidRequest(messages::bid_request::BidRequest(msg)),
        "l" => AnyMessage::BidResponse(messages::bid_response::BidResponse(msg)),
        "j" => AnyMessage::BusinessMessageReject(messages::business_message_reject::BusinessMessageReject(msg)),
        "AY" => AnyMessage::CollateralAssignment(messages::collateral_assignment::CollateralAssignment(msg)),
        "BB" => AnyMessage::CollateralInquiry(messages::collateral_inquiry::CollateralInquiry(msg)),
        "BG" => AnyMessage::CollateralInquiryAck(messages::collateral_inquiry_ack::CollateralInquiryAck(msg)),
        "BA" => AnyMessage::CollateralReport(messages::collateral_report::CollateralReport(msg)),
        "AX" => AnyMessage::CollateralRequest(messages::collateral_request::CollateralRequest(msg)),
        "AZ" => AnyMessage::CollateralResponse(messages::collateral_response::CollateralResponse(msg)),
        "AK" => AnyMessage::Confirmation(messages::confirmation::Confirmation(msg)),
        "AU" => AnyMessage::ConfirmationAck(messages::confirmation_ack::ConfirmationAck(msg)),
        "BH" => AnyMessage::ConfirmationRequest(messages::confirmation_request::ConfirmationRequest(msg)),
        "t" => AnyMessage::CrossOrderCancelReplaceRequest(messages::cross_order_cancel_replace_request::CrossOrderCancelReplaceRequest(msg)),
        "u" => AnyMessage::CrossOrderCancelRequest(messages::cross_order_cancel_request::CrossOrderCancelRequest(msg)),
        "AA" => AnyMessage::DerivativeSecurityList(messages::derivative_security_list::DerivativeSecurityList(msg)),
        "z" => AnyMessage::DerivativeSecurityListRequest(messages::derivative_security_list_request::DerivativeSecurityListRequest(msg)),
        "Q" => AnyMessage::DontKnowTrade(messages::dont_know_trade::DontKnowTrade(msg)),
        "C" => AnyMessage::Email(messages::email::Email(msg)),
        "8" => AnyMessage::ExecutionReport(messages::execution_report::ExecutionReport(msg)),
        "0" => AnyMessage::Heartbeat(messages::heartbeat::Heartbeat(msg)),
        "6" => AnyMessage::IOI(messages::ioi::IOI(msg)),
        "K" => AnyMessage::ListCancelRequest(messages::list_cancel_request::ListCancelRequest(msg)),
        "L" => AnyMessage::ListExecute(messages::list_execute::ListExecute(msg)),
        "N" => AnyMessage::ListStatus(messages::list_status::ListStatus(msg)),
        "M" => AnyMessage::ListStatusRequest(messages::list_status_request::ListStatusRequest(msg)),
        "m" => AnyMessage::ListStrikePrice(messages::list_strike_price::ListStrikePrice(msg)),
        "A" => AnyMessage::Logon(messages::logon::Logon(msg)),
        "5" => AnyMessage::Logout(messages::logout::Logout(msg)),
        "X" => AnyMessage::MarketDataIncrementalRefresh(messages::market_data_incremental_refresh::MarketDataIncrementalRefresh(msg)),
        "V" => AnyMessage::MarketDataRequest(messages::market_data_request::MarketDataRequest(msg)),
        "Y" => AnyMessage::MarketDataRequestReject(messages::market_data_request_reject::MarketDataRequestReject(msg)),
        "W" => AnyMessage::MarketDataSnapshotFullRefresh(messages::market_data_snapshot_full_refresh::MarketDataSnapshotFullRefresh(msg)),
        "i" => AnyMessage::MassQuote(messages::mass_quote::MassQuote(msg)),
        "b" => AnyMessage::MassQuoteAcknowledgement(messages::mass_quote_acknowledgement::MassQuoteAcknowledgement(msg)),
        "AC" => AnyMessage::MultilegOrderCancelReplace(messages::multileg_order_cancel_replace::MultilegOrderCancelReplace(msg)),
        "BC" => AnyMessage::NetworkCounterpartySystemStatusRequest(messages::network_counterparty_system_status_request::NetworkCounterpartySystemStatusRequest(msg)),
        "BD" => AnyMessage::NetworkCounterpartySystemStatusResponse(messages::network_counterparty_system_status_response::NetworkCounterpartySystemStatusResponse(msg)),
        "s" => AnyMessage::NewOrderCross(messages::new_order_cross::NewOrderCross(msg)),
        "E" => AnyMessage::NewOrderList(messages::new_order_list::NewOrderList(msg)),
        "AB" => AnyMessage::NewOrderMultileg(messages::new_order_multileg::NewOrderMultileg(msg)),
        "D" => AnyMessage::NewOrderSingle(messages::new_order_single::NewOrderSingle(msg)),
        "B" => AnyMessage::News(messages::news::News(msg)),
        "9" => AnyMessage::OrderCancelReject(messages::order_cancel_reject::OrderCancelReject(msg)),
        "G" => AnyMessage::OrderCancelReplaceRequest(messages::order_cancel_replace_request::OrderCancelReplaceRequest(msg)),
        "F" => AnyMessage::OrderCancelRequest(messages::order_cancel_request::OrderCancelRequest(msg)),
        "r" => AnyMessage::OrderMassCancelReport(messages::order_mass_cancel_report::OrderMassCancelReport(msg)),
        "q" => AnyMessage::OrderMassCancelRequest(messages::order_mass_cancel_request::OrderMassCancelRequest(msg)),
        "AF" => AnyMessage::OrderMassStatusRequest(messages::order_mass_status_request::OrderMassStatusRequest(msg)),
        "H" => AnyMessage::OrderStatusRequest(messages::order_status_request::OrderStatusRequest(msg)),
        "AM" => AnyMessage::PositionMaintenanceReport(messages::position_maintenance_report::PositionMaintenanceReport(msg)),
        "AL" => AnyMessage::PositionMaintenanceRequest(messages::position_maintenance_request::PositionMaintenanceRequest(msg)),
        "AP" => AnyMessage::PositionReport(messages::position_report::PositionReport(msg)),
        "S" => AnyMessage::Quote(messages::quote::Quote(msg)),
        "Z" => AnyMessage::QuoteCancel(messages::quote_cancel::QuoteCancel(msg)),
        "R" => AnyMessage::QuoteRequest(messages::quote_request::QuoteRequest(msg)),
        "AG" => AnyMessage::QuoteRequestReject(messages::quote_request_reject::QuoteRequestReject(msg)),
        "AJ" => AnyMessage::QuoteResponse(messages::quote_response::QuoteResponse(msg)),
        "AI" => AnyMessage::QuoteStatusReport(messages::quote_status_report::QuoteStatusReport(msg)),
        "a" => AnyMessage::QuoteStatusRequest(messages::quote_status_request::QuoteStatusRequest(msg)),
        "AH" => AnyMessage::RFQRequest(messages::rfq_request::RFQRequest(msg)),
        "o" => AnyMessage::RegistrationInstructions(messages::registration_instructions::RegistrationInstructions(msg)),
        "p" => AnyMessage::RegistrationInstructionsResponse(messages::registration_instructions_response::RegistrationInstructionsResponse(msg)),
        "3" => AnyMessage::Reject(messages::reject::Reject(msg)),
        "AN" => AnyMessage::RequestForPositions(messages::request_for_positions::RequestForPositions(msg)),
        "AO" => AnyMessage::RequestForPositionsAck(messages::request_for_positions_ack::RequestForPositionsAck(msg)),
        "2" => AnyMessage::ResendRequest(messages::resend_request::ResendRequest(msg)),
        "d" => AnyMessage::SecurityDefinition(messages::security_definition::SecurityDefinition(msg)),
        "c" => AnyMessage::SecurityDefinitionRequest(messages::security_definition_request::SecurityDefinitionRequest(msg)),
        "y" => AnyMessage::SecurityList(messages::security_list::SecurityList(msg)),
        "x" => AnyMessage::SecurityListRequest(messages::security_list_request::SecurityListRequest(msg)),
        "f" => AnyMessage::SecurityStatus(messages::security_status::SecurityStatus(msg)),
        "e" => AnyMessage::SecurityStatusRequest(messages::security_status_request::SecurityStatusRequest(msg)),
        "v" => AnyMessage::SecurityTypeRequest(messages::security_type_request::SecurityTypeRequest(msg)),
        "w" => AnyMessage::SecurityTypes(messages::security_types::SecurityTypes(msg)),
        "4" => AnyMessage::SequenceReset(messages::sequence_reset::SequenceReset(msg)),
        "AV" => AnyMessage::SettlementInstructionRequest(messages::settlement_instruction_request::SettlementInstructionRequest(msg)),
        "T" => AnyMessage::SettlementInstructions(messages::settlement_instructions::SettlementInstructions(msg)),
        "1" => AnyMessage::TestRequest(messages::test_request::TestRequest(msg)),
        "AE" => AnyMessage::TradeCaptureReport(messages::trade_capture_report::TradeCaptureReport(msg)),
        "AR" => AnyMessage::TradeCaptureReportAck(messages::trade_capture_report_ack::TradeCaptureReportAck(msg)),
        "AD" => AnyMessage::TradeCaptureReportRequest(messages::trade_capture_report_request::TradeCaptureReportRequest(msg)),
        "AQ" => AnyMessage::TradeCaptureReportRequestAck(messages::trade_capture_report_request_ack::TradeCaptureReportRequestAck(msg)),
        "h" => AnyMessage::TradingSessionStatus(messages::trading_session_status::TradingSessionStatus(msg)),
        "g" => AnyMessage::TradingSessionStatusRequest(messages::trading_session_status_request::TradingSessionStatusRequest(msg)),
        "BE" => AnyMessage::UserRequest(messages::user_request::UserRequest(msg)),
        "BF" => AnyMessage::UserResponse(messages::user_response::UserResponse(msg)),
        _ => AnyMessage::Unknown(msg),
    }
}