FixAlchemy.Engine.Session (FIXAlchemy v0.3.0)

View Source

What a FIX session is configured with, fixed for the session's lifetime.

Built once by new/1 and never written again: the identity the session presents, the dictionary it speaks, and the policy it runs under. Everything that changes as messages flow — sequence numbers, buffers, timers, liveness — belongs to FixAlchemy.Engine, not here.

Summary

Functions

Build a session's settings from its start options.

Types

t()

@type t() :: %FixAlchemy.Engine.Session{
  connection_id: binary() | nil,
  fix_version: binary(),
  heartbeat_interval: pos_integer(),
  max_latency: pos_integer(),
  message_store: module(),
  process_name: binary(),
  sender_comp_id: binary(),
  sender_sub_id: binary() | nil,
  sequence_recovery: boolean(),
  session_name: atom() | binary(),
  session_store_opts: keyword(),
  spec_modules: [module()],
  spec_name: binary() | nil,
  target_comp_id: binary(),
  target_sub_id: binary() | nil,
  validate_checksum: boolean(),
  validate_inbound: boolean()
}

Functions

new(opts)

@spec new(keyword()) :: t()

Build a session's settings from its start options.

:sender_comp_id, :target_comp_id and :spec_modules are required. The BeginString comes from :fix_version when given, and otherwise from the dictionary itself.