ATAS
Loading...
Searching...
No Matches
ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey > Class Template Referenceabstract

Connector base that allows to use await to switch to the connector queue thread. More...

Inheritance diagram for ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >:
[legend]
Collaboration diagram for ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >:
[legend]

Classes

class  AsyncAwaiterFacade
 Facade for SynchronizationContextAwaiter to allow explicit call of SwitchToConnectorThreadAsync() More...
 
class  AsyncAwaiterQueueFacade
 Facade for SynchronizationContextQueueAwaiter to allow explicit call of ForceToConnectorThreadAsync() More...
 
class  ConnectorSynchronizationContext
 Custom synchronization context to forward await continuations to the connector queue. More...
 
struct  SynchronizationContextAwaiter
 Custom awaiter to control continuation execution on the ConnectorSynchronizationContext More...
 
struct  SynchronizationContextQueueAwaiter
 Custom awaiter to control continuation execution on the ConnectorSynchronizationContext This awaiter always passes the continuation to the connector's queue. More...
 

Public Member Functions

AsyncAwaiterFacade SwitchToConnectorThreadAsync ()
 Await it to switch to the connector queue thread, does nothing if we on the connector thread already.
 
AsyncAwaiterQueueFacade WaitConnectorQueueAsync ()
 Schedules continuation when all other tasks are done on connector's queue (adds a task itself to the end of the queue)
 
- Public Member Functions inherited from ATAS.DataFeedsCore.BaseConnector< AsyncConnectorMessage, TPortfolioKey, TSecurityKey >
void Connect ()
 Asynchronously starts connection process
Connected event will fire indicating successful connection.
 
async Task ConnectAsync ()
 Asynchronously starts connection process.
 
void Disconnect ()
 
async Task DisconnectAsync ()
 Asynchronously starts disconnection process.
 
void SearchSecurities (SecurityFilter filter)
 Найти инструменты по заданному фильтру.
 
Task< IEnumerable< Security > > SearchSecuritiesAsync (SecurityFilter filter)
 
void SubscribeToMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void SubscribeToMarketData (Security security, SubscriptionType subscriptionTypes)
 Подписка на маркет дату
 
void UnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscriptionTypes)
 
void UnsubscribeFromMarketData (Security security, SubscriptionType subscriptionTypes)
 Отписка от маркет даты
 
IEnumerable< string > GetRoutes (Security security)
 
IEnumerable< PortfolioGetPortfolios (Security security)
 
Order TryGetOrder (long extId)
 
bool TryGetOrder (string marketOrderId, out Order? order)
 
Task RegisterOrderAsync (Order order)
 
Task ModifyOrderAsync (Order order, Order newOrder)
 
Task CancelOrderAsync (Order order)
 
void RegisterOrder (Order order)
 
void ModifyOrder (Order order, Order newOrder)
 Модификация цены ордера.
 
void CancelOrder (Order order)
 
Position GetPosition (Portfolio portfolio, Security security, TPlusLimits? tPlusLimit)
 
async Task ClosePositionAsync (Position position)
 
async Task ClosePositionsAsync (Portfolio portfolio)
 
async Task ChangeMarginParametersAsync (Position position, bool? isIsolated, decimal? leverage)
 
async Task ChangeIsolatedMarginAsync (Position position, decimal value)
 
virtual ? decimal CalcLiquidationPrice (Position position, decimal margin)
 
virtual ? decimal? decimal maxRemovable CalcIsolatedMarginChangeRange (Position position)
 
decimal ConvertCurrency (Security security, string currencyFrom, string currencyTo, decimal volume, decimal? limitPrice=null)
 Converts volume from one currency to another Used for Notional value calculation.
 
decimal? CalcMaxOrderVolume (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice=null)
 Gets max possible volume for the order
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
decimal? CalcOrderCost (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice, decimal volume, out object? detailing, bool giveDetailing=false)
 Calculates total order cost including commissions and initial margin and everything else
This function is always return null if IsSupportedMaxOrderCalculation is false.
 
ISecurityTradingOptionsGetSecurityTradingOptions (Security security)
 Gets possible TimeInForce for order and optional flags that may be passed when order is created
If null default behaviour is expected:
TimeInForce = DAY, GTC, FOK
No order flags

 
Task< IEnumerable< MyTrade > > GetMyTradesAsync (Portfolio portfolio, Security security, DateTime from, DateTime to)
 Get a list of my trades.
 
bool CanSetPositionAveragePrice (Position position)
 
void SetPositionAveragePrice (Position position, decimal avgPrice)
 

Protected Member Functions

 AsyncConnector ()
 
override Task OnConnectAsync ()
 
sealed override void OnProcess (AsyncConnectorMessage? message)
 
void ProcessPosition (TPortfolioKey portfolioKey, TSecurityKey securityId, Func< bool, ISecurityPositionManager, bool > update)
 
void ProcessPortfolio (TPortfolioKey portfolioKey, string accountId, Action< Portfolio > update)
 
void ProcessMyTrade (long extId, string tradeId, Action< MyTrade > update)
 
void ProcessMyTrade (string orderId, string tradeId, Action< MyTrade > update)
 
void ProcessOrder (TPortfolioKey accountId, TSecurityKey securityId, long extId, Action< bool, Order > update)
 
abstract Task OnSubscribeMarketDataAsync (Security security, SubscriptionType subscriptionTypes)
 
sealed override async void OnSubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
abstract Task OnUnsubscribeMarketDataAsync (Security security, SubscriptionType subscriptionTypes)
 
sealed override async void OnUnsubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
abstract Task OnSearchSecuritiesAsync (SecurityFilter filter)
 
sealed override async void OnSearchSecurities (SecurityFilter filter)
 
abstract Task OnRegisterOrderAsync (Order filter)
 
sealed override async void OnRegisterOrder (Order order)
 
abstract Task OnCancelOrderAsync (Order order, long extId)
 
sealed override async void OnCancelOrder (Order order, long extId)
 
virtual Task OnModifyOrderAsync (Order order, Order newOrder)
 
sealed override async void OnModifyOrder (Order order, Order newOrder)
 
- Protected Member Functions inherited from ATAS.DataFeedsCore.BaseConnector< AsyncConnectorMessage, TPortfolioKey, TSecurityKey >
 BaseConnector ()
 
 BaseConnector (long initialId)
 
 BaseConnector ()
 
 BaseConnector (long initialId)
 
virtual Task OnConnectAsync ()
 
virtual void OnConnect ()
 A place for connection routines
Executed on thread-pool thread.
 
void OnConnected ()
 Raises Connected event
The event must be called when the connector have all necessary connections established and authenticated
All security objects must be processed before this call if possible
If there were any subscriptions, search for that securities will be performed.
 
virtual Task OnDisconnectAsync ()
 
virtual void OnDisconnect ()
 Called on thread-pool thread when Disconnect() method is invoked.
 
void OnDisconnected ()
 Cleans up base resources and raises Disconnected event.
 
void OnConnectionError (Exception error)
 Remember the error that will be handled when the OnDisconnected is called.
 
void Enqueue (TMessage message)
 
void Enqueue (Action action)
 
abstract void OnProcess (TMessage message)
 Handles queued messages by the MessageQueue
In case of SimpleMessageQueue it allows to process all messages in the special connector's queue thread.
 
virtual void OnSendHeartbeat ()
 
void ProcessSecurity (TSecurityKey id, Action< Security > action)
 
SecurityGetSecurity (TSecurityKey securityId)
 
PortfolioGetPortfolio (TPortfolioKey portfolioKey)
 
Portfolio ProcessPortfolio< T > (TPortfolioKey id, string accountId, T message, Action< T, Portfolio > update)
 
void ProcessPortfolio< T > (TPortfolioKey id, T message, Action< T, Portfolio > update, bool throwIfNotFound=false)
 
void ProcessPosition< T > (TPortfolioKey accountId, TSecurityKey securityId, TPlusLimits? tPlusLimit, T message, Func< T, bool, TSecurityPositionManager, bool > update)
 
void ProcessPosition< T > (TPortfolioKey accountId, TSecurityKey securityId, T? message, Func< T, bool, TSecurityPositionManager, bool > update)
 
void ProcessSecurity< T > (TSecurityKey id, string securityId, T message, Action< T, bool, Security > update)
 Converts internal security object of the connector into the ATAS-security visible to the system.
 
void ProcessBestBidAsk (TSecurityKey securityId, DateTime time, MarketDataType type, decimal price, decimal volume, string ecn="")
 
void ProcessBestBidAsk (Security security, DateTime time, MarketDataType type, decimal price, decimal volume, string ecn="")
 
void ProcessBestBidAsk (TSecurityKey securityId, MarketDepth marketDepth)
 
void ProcessBestBidAsk (MarketDepth marketDepth)
 
void ProcessTick (TSecurityKey securityId, long id, DateTime time, TradeDirection direction, decimal price, decimal volume, string ecn="", decimal? openInterest=null)
 
void ProcessTick (Security security, long id, DateTime time, TradeDirection direction, decimal price, decimal volume, string ecn="", decimal? openInterest=null)
 
void ProcessTick (TSecurityKey securityId, Trade trade)
 
void ProcessTick (Security security, Trade trade)
 
void ProcessTick (Trade trade)
 
void ProcessMarketDepthsReset (TSecurityKey securityId, ICollection< MarketDepth > depth)
 
void ProcessMarketDepths (TSecurityKey securityId, Func< Security, ICollection< MarketDepth > > action)
 
void ProcessMarketDepths (Security security, Func< Security, ICollection< MarketDepth > > action)
 
void ProcessMarketByOrder (MarketByOrder mbo)
 
void ProcessOrder< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, T message, Action< T, bool, Order > update)
 
void ProcessOrder< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, T message, Func< T, bool, Order, bool?> update)
 
void ProcessOrder< T > (long extId, T message, Action< T, Order > update)
 
void ProcessOrderError (Order order, string error)
 
void ProcessOrderError (long extId, string error)
 
void ProcessOrder (long extId, Action< Order > process)
 
void ProcessMyTrade< T > (TPortfolioKey accountId, TSecurityKey securityId, long extId, string orderId, string tradeId, T message, Action< T, MyTrade > update)
 
void ProcessMyTrade< T > (long extId, string orderId, string tradeId, T message, Action< T, MyTrade > update)
 
void ProcessMyTrade< T > (long extId, string tradeId, T message, Action< T, MyTrade > update)
 
void ClearDataForPortfolio (Portfolio portfolio)
 
virtual TSecurityPositionManager CreatePositionManager (Position position)
 
virtual void PositionPnLChanged (Position position)
 
void RaiseRebateResult (RebateResult result)
 
void RaiseConnected ()
 
void RaiseDisconnected ()
 
void RaisePosition (TSecurityPositionManager posManager, bool isNew)
 
void RaiseOrder (Order order, bool isNew)
 
void RaiseOrderFailed (Order order, string error)
 
void RaiseSearchSecuritiesResult (SecurityFilter filter, Exception? error, IEnumerable< Security > securities)
 
void RaiseRegisterSecurityResult (Security security, SubscriptionType subscriptionType, Exception error)
 
void RaiseSubscribeMarketDataResult (IEnumerable< Security > securities, Exception error)
 
void RaiseUnsubscribeMarketDataResult (IEnumerable< Security > securities, Exception error)
 
void RaiseNews (News news)
 
void RaiseSecurityChanged (Security security)
 
SubscriptionType GetCurrentSubscription (Security security)
 
virtual void OnSearchSecurities (TSecurityKey securityId, TMessage message)
 
abstract void OnSearchSecurities (SecurityFilter filter)
 
abstract void OnSearchSecurities (TSecurityKey securityId)
 
virtual void OnSubscribeMarketData (IEnumerable< Security > securities, SubscriptionType subscription)
 
abstract void OnSubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
virtual void OnUnsubscribeFromMarketData (IEnumerable< Security > securities, SubscriptionType subscription)
 
abstract void OnUnsubscribeMarketData (Security security, SubscriptionType subscriptionTypes)
 
virtual IEnumerable< string > OnGetRoutes (Security security)
 
virtual IEnumerable< PortfolioOnGetPortfolios (Security security)
 
abstract void OnRegisterOrder (Order order)
 
virtual void OnModifyOrder (Order order, Order newOrder)
 
abstract void OnCancelOrder (Order order, long extId)
 
void RememberPendingOrders ()
 
virtual async Task OnClosePosition (Position position)
 
virtual async Task OnClosePositions (Portfolio portfolio)
 
virtual Order CreateOrderToClosePosition (Position pos)
 
virtual Task OnChangeMarginParametersAsync (Position position, bool? isIsolated, decimal? leverage)
 
virtual Task OnChangeIsolatedMarginAsync (Position position, decimal value)
 
virtual decimal OnConvertCurrency (Security security, string currencyFrom, string currencyTo, decimal volume, decimal? limitPrice=null)
 Converts volume from one currency to another Used for Notional value calculation.
 
virtual ? decimal OnCalcMaxOrderVolume (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice=null)
 
virtual ? decimal OnCalcOrderCost (OrderTypes orderType, Security security, Portfolio portfolio, OrderDirections direction, decimal? limitPrice, decimal volume, out object? detailing, bool giveDetailing=false)
 
virtual ? ISecurityTradingOptions OnGetSecurityTradingOptions (Security security)
 
virtual Task< IEnumerable< MyTrade > > OnGetMyTradesAsync (Portfolio portfolio, Security security, DateTime from, DateTime to)
 
virtual Task<(DateTime serverTime, DateTime localTime, TimeSpan latency)> GetApiServerTime (CancellationToken cancellationToken)
 
async Task ProcessAutoRefreshSecurities ()
 
virtual async Task OnRefreshSecuritiesAsync ()
 
bool TryGetPosition (Order order, out Position position)
 
bool TryGetPosition (Portfolio portfolio, Security security, out Position position)
 
bool TryGetPosition (Portfolio portfolio, Security security, TPlusLimits limits, out Position position)
 
void UpdatePositionsPnL (Security security, MarketDataType type, decimal price)
 

Properties

int ConnectorThreadId [get]
 Gets the ManagerThreadId of the Queue thread.
 
- Properties inherited from ATAS.DataFeedsCore.BaseConnector< AsyncConnectorMessage, TPortfolioKey, TSecurityKey >
IIdGenerator IdGenerator [get]
 
IEnumerable< TSecurityPositionManager > PositionManagers [get]
 
ITimeSyncManager TimeSyncManager [get]
 
abstract bool IsSupportedServerOCO [get]
 Поддерживает ли коннектор серверные ОСО ордера
 
abstract bool IsSupportedStopOrders [get]
 Поддерживает ли коннектор стоп ордера
 
abstract bool IsSupportedTradingFunctions [get]
 Поддерживает ли коннектор торговые функции
 
abstract bool IsSupportedRussianMarket [get]
 Поддерживает ли коннектор инструменты Российского рынка
 
abstract bool IsSupportedAmericanFutures [get]
 Поддерживает ли коннектор американские фьючерсы
 
abstract bool IsSupportedAmericanStocks [get]
 Поддерживает ли коннектор американские стоки
 
virtual bool IsSupportedCrypto [get]
 
virtual bool IsSupportedMaxOrderCalculation [get]
 
virtual bool IsSupportedServerTime [get]
 
bool MarketDataStreamEnabled [get, set]
 Отправлять ли маркет дату в BestBidAskUpdates,MarketDepthsUpdate,NewTrades.
 
bool AllowUpdatePositionsPnL [get, set]
 
MarketDataDelayPeriods MarketDataDelayPeriod [get, set]
 Gets or sets delay period for market data.
 
IEntityFactory Factory [get, set]
 Фабрика объектов для создания Security, Portfolio и т.д.
 
ITimeSyncManager? DefaultTimeSyncManager [get, set]
 Default ITimeSyncManager to get time difference with NTP server.
 
string DataPath [get, set]
 
IMessageQueue< TMessage > MessageQueue [get, set]
 
IEnumerable< SecuritySecurities [get]
 
IEnumerable< PortfolioPortfolios [get]
 
IEnumerable< MyTradeMyTrades [get]
 
IEnumerable< OrderOrders [get]
 
IEnumerable< PositionPositions [get]
 
bool IsConnected [get, protected set]
 True, если все соединения подключены.
 
ConnectionStates ConnectionState [get]
 Текущее состояние подключения коннектора.
 
ReconnectionTimer ReconnectionTimer [get]
 
bool ReconnectOnFirstConnect [get, set]
 
bool ServerMode [get, set]
 
TimeSpan HeartbeatTimeout [get, set]
 
TimeOnly? RefreshSecuritiesTime [get, set]
 
virtual bool HasPendingActions [get]
 
IConnectorLatencyManager LatencyManager [get]
 Latency manager.
 
bool IsFullLicense [get, set]
 License type.
 
bool NeedRebatesCheck [get, set]
 Has rebate check feature.
 
Guid Id [get]
 

Additional Inherited Members

- Public Attributes inherited from ATAS.DataFeedsCore.BaseConnector< AsyncConnectorMessage, TPortfolioKey, TSecurityKey >
virtual ? decimal maxAddable
 
- Events inherited from ATAS.DataFeedsCore.BaseConnector< AsyncConnectorMessage, TPortfolioKey, TSecurityKey >
ConnectorEventHandler? Connected
 
ConnectorEventHandler? Disconnected
 
ConnectorEventHandler< ConnectionStateEventArgs >? ConnectionStateChanged
 
ConnectorEventHandler< IEnumerable< MyTrade > >? NewMyTrades
 
ConnectorEventHandler< IEnumerable< Order > >? NewOrders
 
ConnectorEventHandler< IEnumerable< Position > >? NewPositions
 
ConnectorEventHandler< IEnumerable< Portfolio > >? NewPortfolios
 
ConnectorEventHandler< IEnumerable< Security > >? NewSecurities
 
ConnectorEventHandler< Order >? OrderChanged
 
ConnectorEventHandler< RebateResult >? RebateReceived
 
ConnectorEventHandler< string, Order >? OrdersRegisterFailed
 
ConnectorEventHandler< string, Order >? OrdersCancelFailed
 
ConnectorEventHandler< Order, Order, string >? OrderModifyFailed
 
ConnectorEventHandler< IEnumerable< Portfolio > >? PortfoliosChanged
 
ConnectorEventHandler< IEnumerable< Position > >? PositionsChanged
 
ConnectorEventHandler< MarketDepth >? BestBidAskUpdates
 
ConnectorEventHandler< IEnumerable< MarketDepth > >? MarketDepthsUpdate
 
ConnectorEventHandler< MarketByOrderMarketByOrderChanged
 
ConnectorEventHandler< IEnumerable< Trade > >? NewTrades
 
ConnectorEventHandler< Exception >? Error
 
ConnectorEventHandler< SecurityFilter, Exception?, IEnumerable< Security > >? SearchSecuritiesResult
 
ConnectorEventHandler< Security, Exception?>? RegisterSecurityResult
 
ConnectorEventHandler< News >? NewNews
 
ConnectorEventHandler< Security >? SecurityChanged
 
ConnectorEventHandler< IEnumerable< Security >, Exception >? SubscribeMarketDataResult
 
ConnectorEventHandler< IEnumerable< Security >, Exception >? UnsubscribeMarketDataResult
 

Detailed Description

Connector base that allows to use await to switch to the connector queue thread.

This connector implements its own SynchronizationContext that allows to call await that will return to the connector thread. This works only if call is made from the connector queue thread

To move to the connector thread in the first place just call:

await SwitchToConnectorThreadAsync();

This class seals the OnProcess method.

Constructor & Destructor Documentation

◆ AsyncConnector()

ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.AsyncConnector ( )
protected

Member Function Documentation

◆ OnCancelOrder()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnCancelOrder ( Order  order,
long  extId 
)
protectedvirtual

◆ OnCancelOrderAsync()

abstract Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnCancelOrderAsync ( Order  order,
long  extId 
)
protectedpure virtual

◆ OnConnectAsync()

override Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnConnectAsync ( )
protectedvirtual

◆ OnModifyOrder()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnModifyOrder ( Order  order,
Order  newOrder 
)
protectedvirtual

◆ OnModifyOrderAsync()

virtual Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnModifyOrderAsync ( Order  order,
Order  newOrder 
)
protectedvirtual

◆ OnProcess()

sealed override void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnProcess ( AsyncConnectorMessage message)
protected

◆ OnRegisterOrder()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnRegisterOrder ( Order  order)
protectedvirtual

◆ OnRegisterOrderAsync()

abstract Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnRegisterOrderAsync ( Order  filter)
protectedpure virtual

◆ OnSearchSecurities()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnSearchSecurities ( SecurityFilter  filter)
protectedvirtual

◆ OnSearchSecuritiesAsync()

abstract Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnSearchSecuritiesAsync ( SecurityFilter  filter)
protectedpure virtual

◆ OnSubscribeMarketData()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnSubscribeMarketData ( Security  security,
SubscriptionType  subscriptionTypes 
)
protectedvirtual

◆ OnSubscribeMarketDataAsync()

abstract Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnSubscribeMarketDataAsync ( Security  security,
SubscriptionType  subscriptionTypes 
)
protectedpure virtual

◆ OnUnsubscribeMarketData()

sealed override async void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnUnsubscribeMarketData ( Security  security,
SubscriptionType  subscriptionTypes 
)
protectedvirtual

◆ OnUnsubscribeMarketDataAsync()

abstract Task ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.OnUnsubscribeMarketDataAsync ( Security  security,
SubscriptionType  subscriptionTypes 
)
protectedpure virtual

◆ ProcessMyTrade() [1/2]

void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ProcessMyTrade ( long  extId,
string  tradeId,
Action< MyTrade update 
)
protected

◆ ProcessMyTrade() [2/2]

void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ProcessMyTrade ( string  orderId,
string  tradeId,
Action< MyTrade update 
)
protected

◆ ProcessOrder()

void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ProcessOrder ( TPortfolioKey  accountId,
TSecurityKey  securityId,
long  extId,
Action< bool, Order update 
)
protected

◆ ProcessPortfolio()

void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ProcessPortfolio ( TPortfolioKey  portfolioKey,
string  accountId,
Action< Portfolio update 
)
protected

◆ ProcessPosition()

void ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ProcessPosition ( TPortfolioKey  portfolioKey,
TSecurityKey  securityId,
Func< bool, ISecurityPositionManager, bool >  update 
)
protected

◆ SwitchToConnectorThreadAsync()

AsyncAwaiterFacade ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.SwitchToConnectorThreadAsync ( )

Await it to switch to the connector queue thread, does nothing if we on the connector thread already.

◆ WaitConnectorQueueAsync()

AsyncAwaiterQueueFacade ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.WaitConnectorQueueAsync ( )

Schedules continuation when all other tasks are done on connector's queue (adds a task itself to the end of the queue)

Property Documentation

◆ ConnectorThreadId

int ATAS.DataFeedsCore.AsyncConnector< TPortfolioKey, TSecurityKey >.ConnectorThreadId
get

Gets the ManagerThreadId of the Queue thread.


The documentation for this class was generated from the following file: