public Account(string name, IConnection connection, IApiObjectsFactory factory, IExecutionStorageInternal executionStorage, IPositionsStorageInternal positionsesStorageInternal, IOrdersStorageInternal ordersStorageInternal, IIdsDispenser idsDispenser, CancellationTokenSource internalCancelationTokenSource, AccountCurrenciesFields accountCurrenciesFields) { CodeContract.Requires(!string.IsNullOrEmpty(name)); CodeContract.Requires(connection != null); CodeContract.Requires(factory != null); CodeContract.Requires(executionStorage != null); CodeContract.Requires(positionsesStorageInternal != null); CodeContract.Requires(ordersStorageInternal != null); CodeContract.Requires(accountCurrenciesFields != null); CodeContract.Requires(idsDispenser != null); this.AccountName = name; this.AccountId = name; this.factory = factory; this.executionStorage = executionStorage; this.positionsesStorage = positionsesStorageInternal; this.ordersStorage = ordersStorageInternal; this.accountCurrenciesFields = accountCurrenciesFields; this.idsDispenser = idsDispenser; this.internalCancelationTokenSource = internalCancelationTokenSource; this.subscription = connection.Subscribe((AccountValueMessage message) => message.AccountName == this.AccountName, this.OnAccountValueMessage); }
public QuoteSubscription(IConnection connection, IIdsDispenser dispenser, IQuoteObserver observer, Contract contract) { CodeContract.Requires(connection != null); CodeContract.Requires(observer != null); CodeContract.Requires(dispenser != null); this.connection = connection; this.observer = observer; this.Subscribe(contract, dispenser); }
public ApiObjectsFactory(IConnection connection, IIdsDispenser idsDispenser, Dispatcher dispatcher, CancellationTokenSource internalCancellationTokenSource) { System.Diagnostics.Contracts.Contract.Requires(connection != null); System.Diagnostics.Contracts.Contract.Requires(idsDispenser != null); System.Diagnostics.Contracts.Contract.Requires(dispatcher != null); this.connection = connection; this.idsDispenser = idsDispenser; this.dispatcher = dispatcher; this.internalCancellationTokenSource = internalCancellationTokenSource; this.proxiesFactory = new ProxiesFactory(dispatcher); }
private void Subscribe(IIdsDispenser dispenser, Contract contract) { this.requestId = dispenser.NextRequestId(); this.subscriptions = new List<IDisposable> { this.connection.Subscribe((MarketDepthMessage message) => message.RequestId == this.requestId, this.OnMarketDepth), this.connection.SubscribeForRequestErrors(this.requestId, this.OnError) }; this.SendRequest(contract, this.requestId); }
public MarketDepthSubscription(IConnection connection, IIdsDispenser dispenser, IMarketDepthObserver observer, Contract contract) { CodeContract.Requires(connection != null); CodeContract.Requires(dispenser != null); CodeContract.Requires(observer != null); this.connection = connection; this.observer = observer; this.marketDepthUpdatesDispatcher = new MarketDepthUpdatesDispatcher(observer); this.Subscribe(dispenser, contract); }
private void Subscribe(Contract contract, IIdsDispenser dispenser) { this.requestId = dispenser.NextRequestId(); this.subscriptions = new List<IDisposable> { this.connection.Subscribe((TickPriceMessage message) => message.RequestId == this.requestId, this.OnTickPrice), this.connection.SubscribeForRequestErrors(this.requestId, this.OnError) }; this.SendRequest(contract); }
private void Subscribe(IIdsDispenser dispenser) { var requestId = dispenser.NextRequestId(); this.subscriptions = new List<IDisposable> { this.connection.Subscribe((ExecutionDataMessage message) => message.RequestId == requestId, this.OnExecutionData), this.connection.Subscribe((ExecutionDataEndMessage message) => message.RequestId == requestId, this.OnExecutionDataEnd) }; this.SendRequest(requestId); }
public FindContractsOperation(IConnection connection, IIdsDispenser dispenser, SearchRequest request, CancellationToken cancellationToken) { CodeContract.Requires(connection != null); CodeContract.Requires(dispenser != null); cancellationToken.Register(() => { this.subscriptions.Unsubscribe(); this.taskCompletionSource.TrySetCanceled(); }); this.resultsToRetireve = request.NumberOfResults ?? int.MaxValue; this.Subscribe(connection, dispenser, request); }
private void Subscribe(IConnection connection, IIdsDispenser dispenser, SearchRequest request) { CodeContract.Requires(connection != null); CodeContract.Requires(dispenser != null); var requestId = dispenser.NextRequestId(); this.subscriptions = new List<IDisposable> { connection.Subscribe((ContractDataMessage message) => message.RequestId == requestId, this.OnContractDataMessage), connection.Subscribe((ContractDataEndMessage message) => message.RequestId == requestId, this.OnContractDataEndMessage), connection.SubscribeForRequestErrors(requestId, this.OnError) }; SendRequest(request, requestId, connection); }
public CreateExecutionsStorageOperation(IConnection connection, IIdsDispenser dispenser, CancellationToken cancellationToken, IApiObjectsFactory factory, string account) { Contract.Requires(connection != null); Contract.Requires(factory != null); Contract.Requires(account != null); this.connection = connection; this.cancellationToken = cancellationToken; this.factory = factory; this.cancellationToken.Register(() => { this.subscriptions.Unsubscribe(); this.taskCompletionSource.TrySetCanceled(); }); this.account = account; this.Subscribe(dispenser); }