public OpenFileDialog(DocumentProviderImpl impl, IWdApi api, IWsMessage wsMessage, IWdDocumentRepository _mWDDocRepo, WdConfigurator configurator) { _wsMessage = wsMessage; _api = api; this._mWDDocRepo = _mWDDocRepo; _configurator = configurator; _dpImpl = impl; }
public DocumentProvider(ModuleBase module) { this.module = module; _docProviderImpl = module.Resolve<DocumentProviderImpl>(); _wsMessage = module.Resolve<IWsMessage>(); }
public async Task Send(IWsMessage message, CancellationToken cancellationToken = default) { await EnsureSocketConnection(); var json = JSerializer.Serialize(message); var data = Encoding.UTF8.GetBytes(json); var buffer = new ArraySegment <byte>(data); await _socket.SendAsync(buffer, WebSocketMessageType.Text, true, cancellationToken); }
public async Task Send(IWsMessage message, CancellationToken cancellationToken = default) { await EnsureSocketConnection(); await Task.Run(() => _client.Send(JSerializer.Serialize(message)), cancellationToken); if (_configuration.ReconnectEnabled && _configuration.ResubscribeOnReconnect) { _subscriptions.Push(message); } }
public DocumentProviderImpl(IModule module, IWdDocumentRepository wdDocRepo, DPCache dpCache, DPSessionManager sessionFactory, IDPConfigurator configurator, IProcessLauncher processLauncher, IFileSystemWorker fileSystemWorker, IDpLocalStorage localStorage, IWsMessage message, WdLocator locator) { _module = module; _wdDocRepo = wdDocRepo; _dpCache = dpCache; _sessionManager = sessionFactory; _dialogConfigurator = configurator; _processLauncher = processLauncher; _fileSystemWorker = fileSystemWorker; _localStorage = localStorage; _message = message; _isWorldoxInstalled = !string.IsNullOrEmpty(locator.NetworkWorldoxDirectory()); }
public void Push(IWsMessage message) { try { _lock.EnterWriteLock(); if (message.Event.EndsWith(":subscribe")) { if (!_subscriptions.Contains(message)) { _subscriptions.Add(message); } } else if (message.Event.EndsWith(":unsubscribe")) { switch (message.Event) { case EventType.UnsubscribeCandle: if (message is UnsubscribeCandleMessage cm) { var founded = _subscriptions .OfType <SubscribeCandleMessage>() .SingleOrDefault(x => x.Figi == cm.Figi && x.Interval == cm.Interval); if (founded != null) { _subscriptions.Remove(founded); } } break; case EventType.UnsubscribeInstrumentInfo: if (message is UnsubscribeInstrumentInfoMessage iim) { var founded = _subscriptions .OfType <SubscribeInstrumentInfoMessage>() .SingleOrDefault(x => x.Figi == iim.Figi); if (founded != null) { _subscriptions.Remove(founded); } } break; case EventType.UnsubscribeOrderBook: if (message is UnsubscribeOrderBookMessage obm) { var founded = _subscriptions .OfType <SubscribeOrderBookMessage>() .SingleOrDefault(x => x.Figi == obm.Figi && x.Depth == obm.Depth); if (founded != null) { _subscriptions.Remove(founded); } } break; } } else { throw new ArgumentException(nameof(message.Event)); } } finally { _lock.ExitWriteLock(); } }
public SaveFileDialog(IWdApi api, IWsMessage wsMessage, WdConfigurator configurator) { _mApi = api; _mWsMessage = wsMessage; _configurator = configurator; }