public PriceHistoryPeriodManager(PriceHistoryPeriod period, int market, IAnalyticsStorage analyticsStorage) { this.analyticsStorage = analyticsStorage ?? throw new ArgumentNullException(nameof(analyticsStorage)); Market = market; framesUnit = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromSeconds(15), SizeLimit = 3_000_000 });
public AnimationAnalytics(IAnalyticsStorage analyticsStorage, SkinningEvents eventBus, IAnimationAnalyticsModel model, int instanceId) { m_Model = model; m_AnalyticsStorage = analyticsStorage; m_InstanceId = instanceId; m_EventBus = eventBus; m_EventBus.selectedSpriteChanged.AddListener(OnSelectedSpriteChanged); m_EventBus.skeletonPreviewPoseChanged.AddListener(OnSkeletonPreviewPoseChanged); m_EventBus.skeletonBindPoseChanged.AddListener(OnSkeletonBindPoseChanged); m_EventBus.skeletonTopologyChanged.AddListener(OnSkeletonTopologyChanged); m_EventBus.meshChanged.AddListener(OnMeshChanged); m_EventBus.meshPreviewChanged.AddListener(OnMeshPreviewChanged); m_EventBus.skinningModeChanged.AddListener(OnSkinningModuleModeChanged); m_EventBus.boneSelectionChanged.AddListener(OnBoneSelectionChanged); m_EventBus.boneNameChanged.AddListener(OnBoneNameChanged); m_EventBus.boneDepthChanged.AddListener(OnBoneDepthChanged); m_EventBus.characterPartChanged.AddListener(OnCharacterPartChanged); m_EventBus.toolChanged.AddListener(OnToolChanged); m_EventBus.restoreBindPose.AddListener(OnRestoreBindPose); m_EventBus.copy.AddListener(OnCopy); m_EventBus.paste.AddListener(OnPaste); m_EventBus.shortcut.AddListener(OnShortcut); m_EventBus.boneVisibility.AddListener(OnBoneVisibility); OnToolChanged(model.selectedTool); }
public AnalyticsManager(IAnalyticsStorage analyticsStorage, List <double> precisions, List <int> markets, List <OrderInfo> orders, int tradesHistorySize = 100) { this.analyticsStorage = analyticsStorage ?? throw new ArgumentNullException(nameof(analyticsStorage)); AnalyticsExchange = AnalyticsExchange.RestoreExchange(markets, orders); PriceHistoryManager = new PriceHistoryManager(analyticsStorage, markets ?? throw new ArgumentNullException(nameof(markets))); TradesHistoryManager = new TradesHistoryManager(markets, tradesHistorySize); MarketDepthsManager = new MarketDepthsManager(markets, precisions, AnalyticsExchange.OrderMap); MarketTickersManager = new MarketTickersManager(markets, PriceHistoryManager); }
public PriceHistoryManager(IAnalyticsStorage storage, List <int> markets) { periods = Enum.GetValues(typeof(PriceHistoryPeriod)).Cast <PriceHistoryPeriod>(); foreach (var period in periods) { foreach (var market in markets) { managers.Add(EncodeAssetTradesResolution(market, period), new PriceHistoryPeriodManager(period, market, storage)); } } }
public void Setup() { MockTools(); m_Events = new SkinningEvents(); m_Model = Substitute.For <IAnimationAnalyticsModel>(); m_Model.selectedTool.Returns(m_Tools[Tools.EditPose]); m_Model.GetTool(Arg.Any <Tools>()).Returns(x => m_Tools[x.Arg <Tools>()]); m_Model.applicationElapseTime.Returns(0); m_Storage = Substitute.For <IAnalyticsStorage>(); m_Analytics = new AnimationAnalytics(m_Storage, m_Events, m_Model, 1001); }
public async Task SaveUpdates(IAnalyticsStorage analyticsStorage, int maxAttempts = 5) { await savingSemaphore.WaitAsync(); try { var frames = PriceHistoryManager.PullUpdates(); if (frames.Count < 1) { return; } var attempt = 0; while (attempt < maxAttempts) { try { var frameModels = frames.Select(f => f.ToFrameModel()).ToList(); await analyticsStorage.SaveAnalytics(frameModels); break; } catch { attempt++; if (attempt == maxAttempts) { throw; } Thread.Sleep(attempt * 500); } } } finally { savingSemaphore.Release(); } }
public async Task SaveUpdates(IAnalyticsStorage analyticsStorage, int numberOfTries = 5) { await savingSemaphore.WaitAsync(); try { var frames = PriceHistoryManager.PullUpdates(); if (frames.Count < 1) { return; } var currentTry = 0; while (currentTry < numberOfTries) { try { var frameModels = frames.Select(f => f.ToFrameModel()).ToList(); await analyticsStorage.SaveAnalytics(frameModels); break; } catch { currentTry++; if (currentTry == numberOfTries) { throw; } Thread.Sleep(currentTry * 500); } } } finally { savingSemaphore.Release(); } }
public TagsController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public AnomalyDetectionController(IAnalyticsStorage analyticsStorage) { _Storage = analyticsStorage; }
public CachedAnalyticsStorage(IAnalyticsStorage storage, ICacheProvider cacheProvider) { this.storage = storage; this.cacheProvider = cacheProvider; }
public QualityController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public AnalyticsService(IAnalyticsStorage analyticsStoragea) { _AnalyticsStorage = analyticsStoragea; }
public AnomalyDetectionController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public AnalyticsController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public AnalyticsService(IAnalyticsStorage analyticsStoragea) { _AnalyticsStorage = analyticsStoragea; }
public FeaturesController(IAnalyticsStorage analyticsStorage) { _Storage = analyticsStorage; }
public RecommenderController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public QualityController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }
public FeaturesController(IAnalyticsStorage analyticsStorage) { _Storage = analyticsStorage; }
public CachedAnalyticsStorage(IAnalyticsStorage storage, ICacheProvider cacheProvider) { this.storage = storage; this.cacheProvider = cacheProvider; }
public RecommenderController(IAnalyticsStorage analyticsStorage) { this.storage = analyticsStorage; }