public InterestsContext( MainPool pool, MainStorage storage) { _pool = pool; _storage = storage.Interests; }
public DataLoader( MainContext context, MainPool pool) { _pool = pool; _context = context; }
public NewLikesProcessor( MainStorage mainStorage, MainPool mainPool) { _storage = mainStorage; _pool = mainPool; }
private void txtBusqueda_TextChanged(object sender, EventArgs e) { MainPool.onMatch(MainPool.empresas, txtBusqueda.Text, cbFiltro.SelectedIndex, (object matched) => { lbEmp.SelectedItem = matched; return; }); }
public NewAccountProcessor( Validator validator, MainPool mainPool, MainStorage mainStorage) { _validator = validator; _storage = mainStorage; _pool = mainPool; }
public EditAccountProcessor( MainStorage mainStorage, MainPool mainPool, Validator validator) { _storage = mainStorage; _validator = validator; _pool = mainPool; }
public FrmMain() { InitializeComponent(); //MainDb.deleteUsers(); //MainDb.deleteEmpresas(); //MainDb.deleteDocumentos(); MainPool.Initialize(); MainPool.DummyData(); AdvanceState(GUIState.AppStart); }
public RecommendProcessor( MainStorage mainStorage, MainContext mainContext, MainPool mainPool, RecommendPrinter printer, MessageProcessor processor ) { _context = mainContext; _storage = mainStorage; _pool = mainPool; _printer = printer; _processor = processor; }
public FilterProcessor( MainStorage mainStorage, MainContext mainContext, MainPool mainPool, AccountPrinter accountPrinter, MessageProcessor processor ) { _pool = mainPool; _storage = mainStorage; _context = mainContext; _printer = accountPrinter; _processor = processor; }
public MainContext(MainPool pool, MainStorage storage) { Interests = new InterestsContext(pool, storage); FirstNames = new FirstNameContext(storage); LastNames = new LastNameContext(storage); }
public MessageProcessor( MainContext mainContext, MainStorage mainStorage, DomainParser parser, MainPool mainPool, GroupPreprocessor groupPreprocessor, NewAccountProcessor newAccountProcessor, EditAccountProcessor editAccountProcessor, NewLikesProcessor newLikesProcessor, DataLoader dataLoader) { _context = mainContext; _storage = mainStorage; _parser = parser; _pool = mainPool; _groupPreprocessor = groupPreprocessor; var newAccountObservable = newAccountProcessor .DataReceived; var editAccountObservable = editAccountProcessor .DataReceived; var newLikesObservable = newLikesProcessor .DataReceived; _likeWorker = new SingleThreadWorker <LikeEvent>(ProcessLike, "Like thread started"); _loadWorker = new SingleThreadWorker <LoadEvent>(LoadAccount, "Import thread started"); _postWorker = new SingleThreadWorker <PostEvent>(PostProcess, "Post thread started"); _importGcSubscription = dataLoader .CallGc .Subscribe(_ => { _loadWorker.Enqueue(LoadEvent.GC); }); _likeLoadedSubscription = dataLoader .LikeLoaded .Subscribe( x => _likeWorker.Enqueue(new LikeEvent(x, true)), _ => {}, () => _likeWorker.Enqueue(LikeEvent.EndEvent) ); _dataLoaderSubscription = dataLoader .AccountLoaded .Subscribe( item => { _loadWorker.Enqueue(new LoadEvent(item)); }, _ => {}, () => { _loadWorker.Enqueue(LoadEvent.EndEvent); }); _newAccountProcessorSubscription = newAccountObservable .Subscribe(x => { _postWorker.Enqueue(PostEvent.Add(x)); }); _editAccountProcessorSubscription = editAccountObservable .Subscribe(x => { _postWorker.Enqueue(PostEvent.Edit(x)); }); _newLikesProcessorSubscription = newLikesObservable .Subscribe(NewLikes); var updateObservable = newAccountObservable .Select(_ => Interlocked.Increment(ref _editQuery)) .Merge(editAccountObservable.Select(_ => Interlocked.Increment(ref _editQuery))) .Merge(newLikesObservable.Select(_ => Interlocked.Increment(ref _editQuery))); _secondPhaseEndSubscription = updateObservable .Throttle(TimeSpan.FromMilliseconds(2000)) .Subscribe(_ => { _postWorker.Enqueue(PostEvent.End()); _likeWorker.Enqueue(LikeEvent.EndEvent); }); }
public GroupPreprocessor( MainContext mainContext, MainStorage mainStorage, MainPool mainPool) { _context = mainContext; _storage = mainStorage; _pool = mainPool; _worker = new SingleThreadWorker <Request>(r => { if (r.PostEnded) { CompressImpl(); DataConfig.GroupUpdates = false; return; } if (r.ImportEnded) { LoadEndedImpl(); return; } if (r.IsLoad) { AddImpl(r.Dto, true); return; } DataConfig.GroupUpdates = true; if (r.IsAdd) { AddImpl(r.Dto, false); } else { UpdateImpl(r.Dto); } }, "Group thread started"); for (int i = 1; i < 32; i++) { GroupKey keys = (GroupKey)i; int initialCapacity = 1; if (keys.HasFlag(GroupKey.Sex)) { initialCapacity *= 2; } if (keys.HasFlag(GroupKey.Status)) { initialCapacity *= 3; } if (keys.HasFlag(GroupKey.City)) { initialCapacity *= 700; } if (keys.HasFlag(GroupKey.Country)) { initialCapacity *= 100; } if (keys.HasFlag(GroupKey.Interest)) { initialCapacity *= 160; } initialCapacity = Math.Min(initialCapacity, DataConfig.MaxId); _data[keys] = new SortedSet <GroupBucket>(GroupBucketComparer.Default); } }