public void RegisterSearchQuery(string query, ICollection <long> receiveCache) { lock (this._searchLocker) { if (this._searchReferenceCount.ContainsKey(query)) { this._searchReferenceCount[query]++; } else { var list = new List <ICollection <long> >(); this._receiveCaches.Add(query, list); this._searchReferenceCount.Add(query, 1); var receiver = new SearchReceiver(query, list); this._searchReceiverResolver.Add(query, receiver); } } lock (this._receiveCaches[query]) { this._receiveCaches[query].Add(receiveCache); } }
public void RegisterSearchQuery(string query, ICollection <long> receiveCache) { lock (_searchLocker) { if (_searchReferenceCount.ContainsKey(query)) { _searchReferenceCount[query]++; } else { var list = new List <ICollection <long> >(); _receiveCaches.Add(query, list); _searchReferenceCount.Add(query, 1); var receiver = new SearchReceiver(new RandomAccountAccessor(), StatusInbox.Enqueue, BackstageModel.NotifyException, new SearchParameter(query, count: 100)); _searchReceiverResolver.Add(query, receiver); ReceiveManager.ReceiveEngine.RegisterReceiver(receiver); } } lock (_receiveCaches[query]) { _receiveCaches[query].Add(receiveCache); } }