aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok/src/vespa/slobrok/server/mock_map_listener.h
blob: a12f061b3e30970eab82fedc3c5b4f2669021479 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include "map_listener.h"

namespace slobrok {

enum class MockEvent { NONE, ADD, REMOVE, UPDATE };

struct MockMapListener : public MapListener {
    MockMapListener();
    virtual ~MockMapListener();
    void add(const ServiceMapping &mapping) override;
    void remove(const ServiceMapping &mapping) override;
    void update(const ServiceMapping &old_mapping,
                const ServiceMapping &new_mapping) override;

    MockEvent last_event = MockEvent::NONE;
    ServiceMapping last_add = {{}, {}};
    ServiceMapping last_remove = {{}, {}};

    void clear() { last_event = MockEvent::NONE; }
};

}