MINOR: server/event_hdl: add server_inetaddr struct to facilitate event data usage

event_hdl_cb_data_server_inetaddr struct had some anonymous structs
defined in it, making it impossible to pass as a function argument and
harder to maintain since changes must be performed at multiple places
at once. So instead we define a storage struct named server_inetaddr
that helps to save addr:port server information in INET context.
This commit is contained in:
Aurelien DARRAGON 2023-12-07 16:18:39 +01:00 committed by Christopher Faulet
parent 835263047e
commit 14893a6a00

View File

@ -597,6 +597,18 @@ struct event_hdl_cb_data_server_check {
} unsafe;
};
/* struct to store server address and port information in INET
* context
*/
struct server_inetaddr {
int family; /* AF_UNSPEC, AF_INET or AF_INET6 */
union {
struct in_addr v4;
struct in6_addr v6;
} addr; /* may hold v4 or v6 addr */
unsigned int svc_port;
};
/* data provided to EVENT_HDL_SUB_SERVER_INETADDR handlers through
* event_hdl facility
*
@ -609,22 +621,8 @@ struct event_hdl_cb_data_server_inetaddr {
*/
struct event_hdl_cb_data_server server; /* must be at the beginning */
struct {
struct {
int family; /* AF_UNSPEC, AF_INET or AF_INET6 */
union {
struct in_addr v4;
struct in6_addr v6;
} addr; /* may hold v4 or v6 addr */
unsigned int svc_port;
} prev;
struct {
int family; /* AF_UNSPEC, AF_INET or AF_INET6 */
union {
struct in_addr v4;
struct in6_addr v6;
} addr; /* may hold v4 or v6 addr */
unsigned int svc_port;
} next;
struct server_inetaddr prev;
struct server_inetaddr next;
uint8_t purge_conn; /* set to 1 if the network change will force a connection cleanup */
} safe;
/* no unsafe data */