Documentation ¶
Index ¶
Constants ¶
View Source
const ( StatusOpen = "OPEN" StatusClosed = "CLOSED" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Investor ¶
type Investor struct { ID int64 Name int64 StocksPosition []*InvestorStocksPosition }
func NewInvestor ¶
func (*Investor) AddStockPosition ¶
func (i *Investor) AddStockPosition(StockPosition *InvestorStocksPosition)
func (*Investor) GetStockPosition ¶
func (i *Investor) GetStockPosition(stockID string) *InvestorStocksPosition
func (*Investor) UpdateStockPosition ¶
type InvestorStocksPosition ¶
type InvestorStocksPosition struct { StockID string }
func NewInvestorStocksPosition ¶
func NewInvestorStocksPosition(stockID string, shares int64) *InvestorStocksPosition
type OfferBook ¶
type OfferBook struct { Order []*Order Transactions []*Transaction OrdersChanIn chan *Order OrdersChanOut chan *Order // contains filtered or unexported fields }
func NewOfferBook ¶
func (*OfferBook) AddTransaction ¶
func (ob *OfferBook) AddTransaction(transaction *Transaction, wg *sync.WaitGroup)
type Order ¶
type OrderQueue ¶
type OrderQueue struct {
Orders []*Order
}
func NewOrderQueue ¶
func NewOrderQueue() *OrderQueue
func (*OrderQueue) Len ¶
func (oq *OrderQueue) Len() int
func (*OrderQueue) Less ¶
func (oq *OrderQueue) Less(i, j int) bool
func (*OrderQueue) Pop ¶
func (oq *OrderQueue) Pop() any
func (*OrderQueue) Push ¶
func (oq *OrderQueue) Push(x any)
func (*OrderQueue) Swap ¶
func (oq *OrderQueue) Swap(i, j int)
type Transaction ¶
type Transaction struct { ID string SellingOrder *Order BuyingOrder *Order Price float64 Total float64 CreatedAt time.Time }
func NewTransaction ¶
func NewTransaction(sellingOrder, buyingOrder *Order, shares int64, price float64) *Transaction
func (*Transaction) AddBuyOrderPendingShares ¶
func (t *Transaction) AddBuyOrderPendingShares(shares int64)
func (*Transaction) AddSellOrderPendingShares ¶
func (t *Transaction) AddSellOrderPendingShares(shares int64)
func (*Transaction) CalculateTotal ¶
func (t *Transaction) CalculateTotal(shares int64)
func (*Transaction) CloseBuyOrder ¶
func (t *Transaction) CloseBuyOrder()
func (*Transaction) CloseSellOrder ¶
func (t *Transaction) CloseSellOrder()
Click to show internal directories.
Click to hide internal directories.