aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok/src/vespa/slobrok/server/remote_check.h
blob: 3ea1db7b0751aff35276f8dd793dc8467c5124f1 (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
27
28
29
30
31
32
33
34
35
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include <vespa/fnet/task.h>

namespace slobrok {

class SBEnv;
class RpcServerMap;
class RpcServerManager;
class ExchangeManager;

/**
 * @class RemoteCheck
 * @brief Periodic healthcheck task for remote objects
 *
 * Checks the health of partner location brokers
 * and their NamedService objects periodically.
 **/
class RemoteCheck : public FNET_Task
{
private:
    ExchangeManager &_exchanger;

    RemoteCheck(const RemoteCheck &);            // Not used
    RemoteCheck &operator=(const RemoteCheck &); // Not used
public:
    explicit RemoteCheck(FNET_Scheduler *sched, ExchangeManager& exchanger);
    ~RemoteCheck();
private:
    void PerformTask() override;
};

} // namespace slobrok