IBasketRoutingManager

StockSharp.Algo.Basket

用于管理 basket 适配器中信件路由的接口。 包含所有路由、 连接和订阅逻辑 。

属性

ConnectDisconnectEventOnFirstAdapter
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value

获取或设定是否在第一个适配器上点燃连接/断开事件 。

ConnectedCount
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount

获得连接适配器的计数 。

HasPendingAdapters
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters

了解是否有适配器仍在连接中.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.TransactionIdGenerator = value

用于内部儿童订阅路由的 dication 生成器。 必须与 父适配器 的生成器同步 。

方法

AddOrderAdapter
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)

添加订单交易到适配器映射 。

ApplyParentLookupId
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.ApplyParentLookupId(msg)

将父搜索ID重新映射到订阅信件中 。

返回值: 如果找不到有效的父信件, 则信件应当删除 。

BeginConnect
public void BeginConnect()
iBasketRoutingManager.BeginConnect()

开始连接进程 。

BeginDisconnect
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()

开始断开连接进程 。

GetAdaptersToDisconnect
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)

找需要断开的适配器.

adapterLookup
从基本适配器获取包装的函数 。

返回值: 包口到下部适配器的词典.

GetPortfolioAdapter
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)

获取基于组合的路由的适配器 。

GetSubscribers
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)

获取数据类型的用户ID。

InitializeAdapter
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)

初始化适配器以连接 。

LoadPortfolioAdapters
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)

清除并装入组合适配器映射.

LoadSecurityAdapters
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)

清理并装入金融仪器适配器映射.

OnAdapterRemoved
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)

调用时,适配器从内适配器列表中被删除.

OnAdaptersCleared
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()

调用时,所有适配器都从内适配器列表中清除出来.

OnPortfolioAdapterProviderChanged
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)

处理组合适配器提供者更改 。

OnSecurityAdapterProviderChanged
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)

处理金融工具适配器提供者变更.

ProcessBackMessage
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)

处理背面信息并进行订阅跟踪 。

ProcessConnect
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessConnect(adapter, wrapper, supportedMessages, error)

进程成功或失败的连接 。

adapter
连接的适配器。
wrapper
适配器的包装.
supportedMessages
支持的消息类型 。
error
连接出错 。

返回值: 发送和等待发送的信件以回转的额外信件 。

ProcessDisconnect
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)

进程断开 。

adapter
适配器那个断开。
wrapper
适配器的包装.
supportedMessages
支持的消息类型 。
error
断开错误( 如果有的话) 。

返回值: 需要发送额外消息 。

ProcessInMessageAsync
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)

处理一个收到的消息,并确定路径决定。

ProcessOutMessageAsync
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)

处理内置适配器发出的消息 。

Reset
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)

重置所有路由状态 。

clearPending
是否清除待处理信件 。
TryGetOrderAdapter
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)

尝试通过交易ID获取适配器来获取订单 。