Files
scylladb/gms
Vlad Zolotarov 33b195760b gms::gossiper: allow the modification of _subscribers while it's being iterated
Introduce a subscribers_list class that exposes 3 methods:
  - push_back(s) - adds a new element s to the back of the list
  - remove(s) - removes an element s from the list
  - for_each(f) - invoke f on each element of the list
  - make a subscriber_list store shared_ptr to a subscriber
    to allow removing (currently it stores a naked pointer to the object).

subscribers_list allows push_back() and remove() to be called while
another thread (e.g. seastar::async()) is in the middle of for_each().

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>

New in v2:
   - Simplify subscribers_list::remove() method.
   - load_broadcaster: inherit from enable_shared_from_this instead
     of async_sharded_service.
2015-10-30 00:16:16 +02:00
..
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00
2015-09-20 10:43:39 +03:00