pub struct FileMessageStoreFactory(/* private fields */);
Expand description
File based implementation of MessageStore
.
Implementations§
Source§impl FileMessageStoreFactory
impl FileMessageStoreFactory
Sourcepub fn try_new(settings: &SessionSettings) -> Result<Self, QuickFixError>
pub fn try_new(settings: &SessionSettings) -> Result<Self, QuickFixError>
Try to create new struct from settings.
Examples found in repository?
examples/fix_getting_started.rs (line 29)
20fn main() -> Result<(), QuickFixError> {
21 let args: Vec<_> = env::args().collect();
22 let Some(config_file) = args.get(1) else {
23 eprintln!("Bad program usage: {} <config_file>", args[0]);
24 exit(1);
25 };
26
27 println!(">> Creating resources");
28 let settings = SessionSettings::try_from_path(config_file)?;
29 let store_factory = FileMessageStoreFactory::try_new(&settings)?;
30 let log_factory = LogFactory::try_new(&StdLogger::Stdout)?;
31 let callbacks = MyApplication;
32 let app = Application::try_new(&callbacks)?;
33
34 let mut acceptor = SocketAcceptor::try_new(&settings, &app, &store_factory, &log_factory)?;
35
36 println!(">> connection handler START");
37 acceptor.start()?;
38
39 println!(">> App running, press 'q' to quit");
40 let mut stdin = stdin().lock();
41 let mut stdin_buf = [0];
42 loop {
43 let _ = stdin.read_exact(&mut stdin_buf);
44 if stdin_buf[0] == b'q' {
45 break;
46 }
47 }
48
49 println!(">> connection handler STOP");
50 acceptor.stop()?;
51
52 println!(">> All cleared. Bye !");
53 Ok(())
54}
More examples
examples/fix_repl/main.rs (line 26)
14fn main() -> Result<(), QuickFixError> {
15 let args: Vec<_> = env::args().collect();
16 let (Some(connect_mode), Some(config_file)) = (args.get(1), args.get(2)) else {
17 eprintln!(
18 "Bad program usage: {} [acceptor|initiator] <config_file>",
19 args[0]
20 );
21 exit(1);
22 };
23
24 println!(">> Creating resources");
25 let settings = SessionSettings::try_from_path(config_file)?;
26 let store_factory = FileMessageStoreFactory::try_new(&settings)?;
27 let log_factory = LogFactory::try_new(&StdLogger::Stdout)?;
28 let callbacks = MyApplication::new();
29 let app = Application::try_new(&callbacks)?;
30
31 match connect_mode.as_str() {
32 "initiator" => server_loop(SocketInitiator::try_new(
33 &settings,
34 &app,
35 &store_factory,
36 &log_factory,
37 )?),
38 "acceptor" => server_loop(SocketAcceptor::try_new(
39 &settings,
40 &app,
41 &store_factory,
42 &log_factory,
43 )?),
44 _ => {
45 eprintln!("Invalid connection mode");
46 exit(1);
47 }
48 }?;
49
50 println!(">> All cleared. Bye !");
51 Ok(())
52}
Trait Implementations§
Source§impl Debug for FileMessageStoreFactory
impl Debug for FileMessageStoreFactory
Source§impl Drop for FileMessageStoreFactory
impl Drop for FileMessageStoreFactory
Source§impl FfiMessageStoreFactory for FileMessageStoreFactory
impl FfiMessageStoreFactory for FileMessageStoreFactory
Source§fn as_ffi_ptr(&self) -> FixMessageStoreFactory_t
fn as_ffi_ptr(&self) -> FixMessageStoreFactory_t
Get a representation of the message store as a FFI pointer.
Auto Trait Implementations§
impl Freeze for FileMessageStoreFactory
impl RefUnwindSafe for FileMessageStoreFactory
impl !Send for FileMessageStoreFactory
impl !Sync for FileMessageStoreFactory
impl Unpin for FileMessageStoreFactory
impl UnwindSafe for FileMessageStoreFactory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more