1/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3#include "base/configobject.hpp"
4#include <cstdint>
5
6library remote;
7
8namespace icinga
9{
10
11class Endpoint : ConfigObject
12{
13	load_after Zone;
14
15	[config] String host;
16	[config, required] String port {
17		default {{{ return "5665"; }}}
18	};
19	[config] double log_duration {
20		default {{{ return 86400; }}}
21	};
22
23	[state] Timestamp local_log_position;
24	[state] Timestamp remote_log_position;
25	[state] "unsigned long" icinga_version {
26		default {{{ return 0; }}}
27	};
28	[state] uint_fast64_t capabilities {
29		default {{{ return 0; }}}
30	};
31
32	[no_user_modify] bool connecting;
33	[no_user_modify] bool syncing;
34
35	[no_user_modify, no_storage] bool connected {
36		get;
37	};
38
39	Timestamp last_message_sent;
40	Timestamp last_message_received;
41
42	[no_user_modify, no_storage] double messages_sent_per_second {
43		get;
44	};
45
46	[no_user_modify, no_storage] double messages_received_per_second {
47		get;
48	};
49
50	[no_user_modify, no_storage] double bytes_sent_per_second {
51		get;
52	};
53
54	[no_user_modify, no_storage] double bytes_received_per_second {
55		get;
56	};
57};
58
59}
60