comparison include/freeDiameter/libfdcore.h @ 1396:188c82b6690b

Add ProcessingPeersPattern and ProcessingPeersMinimum parameters. If this is configured, the process will accept all connections from peers matching ProcessingPeersPattern, but will NOT accept connections from other peers until ProcessingPeersMinimum peers of the first type are connected. This allows relays to only go online if there are enough worker peers connected behind them.
author Thomas Klausner <tk@giga.or.at>
date Fri, 15 Nov 2019 11:38:30 +0100
parents 175f2eb883a0
children 239ba25870d8
comparison
equal deleted inserted replaced
1395:603a72c4bf6c 1396:188c82b6690b
42 #endif 42 #endif
43 43
44 #include <freeDiameter/libfdproto.h> 44 #include <freeDiameter/libfdproto.h>
45 #include <gnutls/gnutls.h> 45 #include <gnutls/gnutls.h>
46 #include <gnutls/x509.h> 46 #include <gnutls/x509.h>
47 #include <regex.h>
47 48
48 /* GNUTLS version */ 49 /* GNUTLS version */
49 #ifndef GNUTLS_VERSION 50 #ifndef GNUTLS_VERSION
50 #define GNUTLS_VERSION LIBGNUTLS_VERSION 51 #define GNUTLS_VERSION LIBGNUTLS_VERSION
51 #endif /* GNUTLS_VERSION */ 52 #endif /* GNUTLS_VERSION */
130 uint16_t cnf_port_tls; /* the local port for Diameter/TLS (default: 5868) in host byte order */ 131 uint16_t cnf_port_tls; /* the local port for Diameter/TLS (default: 5868) in host byte order */
131 uint16_t cnf_port_3436; /* Open an additional server port to listen to old TLS/SCTP clients (RFC3436, freeDiameter versions < 1.2.0) */ 132 uint16_t cnf_port_3436; /* Open an additional server port to listen to old TLS/SCTP clients (RFC3436, freeDiameter versions < 1.2.0) */
132 uint16_t cnf_sctp_str; /* default max number of streams for SCTP associations (def: 30) */ 133 uint16_t cnf_sctp_str; /* default max number of streams for SCTP associations (def: 30) */
133 struct fd_list cnf_endpoints; /* the local endpoints to bind the server to. list of struct fd_endpoint. default is empty (bind all). After servers are started, this is the actual list of endpoints including port information. */ 134 struct fd_list cnf_endpoints; /* the local endpoints to bind the server to. list of struct fd_endpoint. default is empty (bind all). After servers are started, this is the actual list of endpoints including port information. */
134 int cnf_thr_srv; /* Number of threads per servers handling the connection state machines */ 135 int cnf_thr_srv; /* Number of threads per servers handling the connection state machines */
136 int cnf_processing_peers_minimum; /* Number of processing peers that must be connected before other peers may connect */
137 regex_t cnf_processing_peers_pattern_regex; /* Regex pattern for identifying processing peers */
135 struct fd_list cnf_apps; /* Applications locally supported (except relay, see flags). Use fd_disp_app_support to add one. list of struct fd_app. */ 138 struct fd_list cnf_apps; /* Applications locally supported (except relay, see flags). Use fd_disp_app_support to add one. list of struct fd_app. */
136 uint16_t cnf_dispthr; /* Number of dispatch threads to create */ 139 uint16_t cnf_dispthr; /* Number of dispatch threads to create */
137 uint16_t cnf_rr_in_answers; /* include Route-Record AVP in answers */ 140 uint16_t cnf_rr_in_answers; /* include Route-Record AVP in answers */
138 struct { 141 struct {
139 unsigned no_fwd : 1; /* the peer does not relay messages (0xffffff app id) */ 142 unsigned no_fwd : 1; /* the peer does not relay messages (0xffffff app id) */
"Welcome to our mercurial repository"