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重新映射到订阅信件中 。
返回值: 如果找不到有效的父信件, 则信件应当删除 。
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获取适配器来获取订单 。