FixAlchemy.MessageStore.Dets (FIXAlchemy v0.3.3)

View Source

FixAlchemy.MessageStore backed by a DETS file.

Sent messages survive the session process, the connection, and the node, so a session that resumes its sequence numbering through FixAlchemy.SessionStore can answer a ResendRequest with the original messages rather than gap-filling them.

One file per session, named for the session's identity — BeginString, SenderCompID, TargetCompID — so two sessions never share storage.

Options

  • :dir - directory the files live in (required). It is created if absent.
  • :session_key - supplied by the engine; a caller does not set it.
FixAlchemy.Server.start_link(
  sequence_recovery: true,
  message_store: FixAlchemy.MessageStore.Dets,
  message_store_opts: [dir: "/var/lib/my_app/fix"],
  # ...
)

Nothing is trimmed: a file holds every message sent since the last sequence reset. A session that never resets grows without bound, so a venue running continuously should reset on logon or prune the directory between trading days.

Summary

Functions

Close the file. The engine's process closes it by exiting.

Types

t()

@type t() :: %FixAlchemy.MessageStore.Dets{table: term()}

Functions

close(dets)

@spec close(t()) :: :ok

Close the file. The engine's process closes it by exiting.