Packages
tai
0.0.37
0.0.75
0.0.74
0.0.73
0.0.72
0.0.71
0.0.70
0.0.69
0.0.68
0.0.67
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.57
0.0.56
0.0.55
0.0.54
0.0.53
0.0.52
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
A composable, real time, market data and trade execution toolkit
Current section
Files
Jump to
Current section
Files
lib/tai/config.ex
defmodule Tai.Config do
@moduledoc """
Convert the application environment into a struct
"""
@type t :: %Tai.Config{
adapter_timeout: integer,
advisor_groups: map,
venue_boot_handler: atom,
send_orders: boolean,
venues: map
}
@enforce_keys ~w(
adapter_timeout
advisor_groups
venue_boot_handler
event_registry_partitions
send_orders
venues
)a
defstruct ~w(
adapter_timeout
advisor_groups
event_registry_partitions
venue_boot_handler
send_orders
venues
)a
def parse(env \\ Application.get_all_env(:tai)) do
adapter_timeout = Keyword.get(env, :adapter_timeout, 10_000)
advisor_groups = Keyword.get(env, :advisor_groups, %{})
venue_boot_handler = Keyword.get(env, :venue_boot_handler, Tai.Venues.BootHandler)
send_orders = !!Keyword.get(env, :send_orders)
venues = Keyword.get(env, :venues, %{})
event_registry_partitions =
Keyword.get(env, :event_registry_partitions, System.schedulers_online())
%Tai.Config{
adapter_timeout: adapter_timeout,
advisor_groups: advisor_groups,
event_registry_partitions: event_registry_partitions,
venue_boot_handler: venue_boot_handler,
send_orders: send_orders,
venues: venues
}
end
end