diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-01-06 16:29:30 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-01-06 16:29:30 +0000 |
commit | 6d9a168c279a9144d9d5a5c63bf97b66c54d1f7f (patch) | |
tree | ffe6a8e9c48f66a865af895ddf5324091c0a27da /searchcore | |
parent | 384dfa42fce06361f7716d2570abe1a26e4e0a66 (diff) |
Only support a single listener.
Ensure that listener is unregistered at teardown time.
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp index 527d844df1c..b6b3db261cd 100644 --- a/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp +++ b/searchcore/src/tests/proton/documentdb/lid_space_compaction/lid_space_compaction_test.cpp @@ -145,31 +145,30 @@ struct MyFrozenBucketHandler : public IFrozenBucketHandler struct MyDiskMemUsageNotifier : public IDiskMemUsageNotifier { DiskMemUsageState _state; - std::vector<IDiskMemUsageListener *> _listeners; + IDiskMemUsageListener *_listener; MyDiskMemUsageNotifier() : _state(), - _listeners() + _listener(nullptr) { } + ~MyDiskMemUsageNotifier() + { + assert(_listener == nullptr); + } virtual void addDiskMemUsageListener(IDiskMemUsageListener *listener) override { - _listeners.push_back(listener); + assert(_listener == nullptr); + _listener = listener; listener->notifyDiskMemUsage(_state); } virtual void removeDiskMemUsageListener(IDiskMemUsageListener *listener) override { - for (auto it = _listeners.begin(); it != _listeners.end(); ++it) { - if (*it == listener) { - _listeners.erase(it); - break; - } - } + assert(listener == _listener); + _listener = nullptr; } void update(DiskMemUsageState state) { _state = state; - for (auto &listener : _listeners) { - listener->notifyDiskMemUsage(_state); - } + _listener->notifyDiskMemUsage(_state); } }; |