Mercurial > hg > freeDiameter
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) */ |