summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahoo-inc.com>2017-01-06 16:29:30 +0000
committerTor Egge <Tor.Egge@yahoo-inc.com>2017-01-06 16:29:30 +0000
commit6d9a168c279a9144d9d5a5c63bf97b66c54d1f7f (patch)
treeffe6a8e9c48f66a865af895ddf5324091c0a27da /searchcore
parent384dfa42fce06361f7716d2570abe1a26e4e0a66 (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.cpp23
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);
}
};