Packages
tai
0.0.65
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/orders.ex
defmodule Tai.Orders do
alias Tai.Orders.{
Order,
OrderSubmissions,
Worker
}
@type submission :: OrderSubmissions.Factory.submission()
@type order :: Order.t()
@type create_response :: Worker.create_response()
@type cancel_response :: Worker.cancel_response()
@type amend_attrs :: Worker.amend_attrs()
@type amend_response :: Worker.amend_response()
@type amend_bulk_response :: Worker.amend_bulk_response()
@timeout 5_000
@spec create(submission) :: create_response
def create(submission) do
:poolboy.transaction(
:order_worker,
& Worker.create(&1, submission),
@timeout
)
end
@spec cancel(order) :: cancel_response
@spec cancel(order, module) :: cancel_response
def cancel(order, provider \\ Worker.Provider) do
:poolboy.transaction(
:order_worker,
& Worker.cancel(&1, order, provider),
@timeout
)
end
@spec amend(order, amend_attrs) :: amend_response
@spec amend(order, amend_attrs, module) :: amend_response
def amend(order, attrs, provider \\ Worker.Provider) do
:poolboy.transaction(
:order_worker,
& Worker.amend(&1, order, attrs, provider),
@timeout
)
end
@spec amend_bulk([{order, amend_attrs}]) :: amend_bulk_response
@spec amend_bulk([{order, amend_attrs}], module) :: amend_bulk_response
def amend_bulk(amend_set, provider \\ Worker.Provider) do
:poolboy.transaction(
:order_worker,
& Worker.amend_bulk(&1, amend_set, provider),
@timeout
)
end
end