summaryrefslogtreecommitdiffstats
path: root/lib/remote/endpoint.ti
blob: 78551ecf0dd98bd4b137dd902e6e9d5e5b1d0d48 (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

#include "base/configobject.hpp"
#include <cstdint>

library remote;

namespace icinga
{

class Endpoint : ConfigObject
{
	load_after Zone;

	[config] String host;
	[config, required] String port {
		default {{{ return "5665"; }}}
	};
	[config] double log_duration {
		default {{{ return 86400; }}}
	};

	[state] Timestamp local_log_position;
	[state] Timestamp remote_log_position;
	[state] "unsigned long" icinga_version {
		default {{{ return 0; }}}
	};
	[state] uint_fast64_t capabilities {
		default {{{ return 0; }}}
	};

	[no_user_modify] bool connecting;
	[no_user_modify] bool syncing;

	[no_user_modify, no_storage] bool connected {
		get;
	};

	Timestamp last_message_sent;
	Timestamp last_message_received;

	[no_user_modify, no_storage] double messages_sent_per_second {
		get;
	};

	[no_user_modify, no_storage] double messages_received_per_second {
		get;
	};

	[no_user_modify, no_storage] double bytes_sent_per_second {
		get;
	};

	[no_user_modify, no_storage] double bytes_received_per_second {
		get;
	};
};

}