- private abstract static class DropMessages<T> {
- private final Class<T> msgClass;
-
- DropMessages(final Class<T> msgClass) {
- this.msgClass = requireNonNull(msgClass);
- }
-
- final Class<T> getMsgClass() {
- return msgClass;
- }
- }
-
- public static class StartDropMessages<T> extends DropMessages<T> {
- public StartDropMessages(final Class<T> msgClass) {
- super(msgClass);
- }
- }
-
- public static class StopDropMessages<T> extends DropMessages<T> {
- public StopDropMessages(final Class<T> msgClass) {
- super(msgClass);
- }
- }
-
- private final Map<Class<?>, Predicate<?>> dropMessages = new ConcurrentHashMap<>();
-