pub struct EngineBuilder<A: Application = NoOpApplication> { /* private fields */ }Expand description
Builder for configuring a FIX engine.
Set the Application and add exactly one SessionConfig, then call
EngineBuilder::into_initiator or EngineBuilder::into_acceptor to
obtain a runnable engine.
Implementations§
Source§impl<A: Application + 'static> EngineBuilder<A>
impl<A: Application + 'static> EngineBuilder<A>
Sourcepub fn with_application<B: Application>(
self,
application: B,
) -> EngineBuilder<B>
pub fn with_application<B: Application>( self, application: B, ) -> EngineBuilder<B>
Sets the application callback handler.
Sourcepub fn add_session(self, config: SessionConfig) -> Self
pub fn add_session(self, config: SessionConfig) -> Self
Adds a session configuration.
The terminal methods build a single-session engine, so exactly one
session must be added before EngineBuilder::into_initiator or
EngineBuilder::into_acceptor is called.
Sourcepub fn with_connect_timeout(self, timeout: Duration) -> Self
pub fn with_connect_timeout(self, timeout: Duration) -> Self
Sets the TCP connect timeout used by EngineBuilder::into_initiator
(default 30s). It has no effect on an acceptor.
Sourcepub fn sessions(&self) -> &[SessionConfig]
pub fn sessions(&self) -> &[SessionConfig]
Returns the configured sessions.
Sourcepub const fn connect_timeout(&self) -> Duration
pub const fn connect_timeout(&self) -> Duration
Returns the connection timeout.
Sourcepub fn application(&self) -> Arc<A> ⓘ
pub fn application(&self) -> Arc<A> ⓘ
Returns the application handler.
Sourcepub fn into_initiator(self) -> Result<Initiator<A>, EngineError>
pub fn into_initiator(self) -> Result<Initiator<A>, EngineError>
Consumes the builder and produces a client-side Initiator for the
single configured session, applying the configured connect timeout.
§Errors
Returns EngineError::Configuration unless exactly one session has
been added.
Sourcepub fn into_acceptor(self) -> Result<Acceptor<A>, EngineError>
pub fn into_acceptor(self) -> Result<Acceptor<A>, EngineError>
Consumes the builder and produces a server-side Acceptor for the
single configured session.
§Errors
Returns EngineError::Configuration unless exactly one session has
been added.