IBasketRoutingManager
バスケットアダプターでメッセージルーティングを管理するためのインターフェイス。すべてのルーティング、接続、およびサブスクリプションロジックをカプセル化します。
プロパティ
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value
接続/接続解除イベントを最初のアダプターで始動するか、設定します。
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount
接続されたアダプターのカウントを取得します。
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters
アダプターが接続しているかどうかを取得します。
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.TransactionIdGenerator = value
内部の子サブスクリプションルーティングに使用されるトランザクションIDジェネレータ。 親アダプターのジェネレータと同期して保存する必要があります。
メソッド
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)
注文トランザクションをアダプターマッピングに追加します。
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.ApplyParentLookupId(msg)
サブスクリプションメッセージに親のルックアップIDリマッピングを適用します。
戻り値: 有効な親が見つからない場合、メッセージが削除される必要があります。
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()
切断プロセスを始めて下さい。
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)
接続解除が必要なアダプターを入手してください。
- adapterLookup
- アダプターを基底から抜く機能。
戻り値: アダプターを根ざすためにラッパーの辞書。
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)
ポートフォリオベースのルーティング用のアダプターを入手してください。
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)
サブスクライブ ID をデータ型に取得します。
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)
接続用のアダプタを初期化します。
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)
ポートフォリオのアダプターマッピングをクリアしてロードします。
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)
金融機器のアダプターマッピングをクリアしてロードします。
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)
アダプターが内部アダプターリストから外されると呼び出されます。
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()
アダプターが内部アダプターリストからクリアされると呼び出されます。
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)
ハンドルポートフォリオアダプタープロバイダ変更。
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)
金融商品取引業者の交換を処理します。
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)
サブスクリプショントラッキングでバックメッセージを処理します。
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
- 接続エラーの場合。
戻り値: メッセージを送信し、メッセージを送信してループバックに送る余分なメッセージ。
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)
プロセス切断。
- adapter
- 接続解除されたアダプタ。
- wrapper
- アダプターのラッパー。
- supportedMessages
- 対応するメッセージタイプ。
- error
- どんな場合も、接続エラーを解除します。
戻り値: 送信する余分メッセージ。
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)
着信メッセージの処理とルーティングの決定の決定
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)
外部のアダプターから発信メッセージを処理する。
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)
すべてのルーティング状態をリセットします。
- clearPending
- 送信メッセージのクリアかどうか。
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)
トランザクションIDで注文するアダプターを手に入れよう。