3 * @brief RealServer component.
12 #include <sys/types.h>
13 #include <sys/socket.h>
14 #include <netinet/in.h>
15 #include <arpa/inet.h>
16 #include "logger_wrapper.h"
19 // ! real-server datatype
23 struct sockaddr_in addr; //! sockaddr
24 int weight; //! schedule weight use
25 int nactive; //! nactive
26 int ninact; //! ninactive
30 // ! real-server datatype, external representation
34 struct sockaddr_in addr;
43 extern struct l7vs_dest* l7vs_dest_create( struct sockaddr_in*, int );
44 extern void l7vs_dest_destroy( struct l7vs_dest* );
45 extern void l7vs_dest_to_arg( struct l7vs_dest*, struct l7vs_dest_arg* );
48 * serialize struct sockaddr_in
49 * @param[out] ret serialized string
50 * @param[in] dest source sockaddr_in
53 inline void l7vs_dest_sockaddr_in_c_str(char* ret, const struct sockaddr_in* addr)
56 snprintf(ret, DEBUG_STR_LEN, "(nil)");
60 snprintf(ret, DEBUG_STR_LEN,
64 , inet_ntoa(addr->sin_addr)
65 , ntohs(addr->sin_port));
70 * serialize struct l7vs_dest
71 * @param[out] ret serialized string
72 * @param[in] dest source l7vs_dest
75 inline void l7vs_dest_c_str(char *ret,const struct l7vs_dest *dest)
77 char addr_str[DEBUG_STR_LEN];
80 snprintf(ret, DEBUG_STR_LEN, "(nil)");
84 l7vs_dest_sockaddr_in_c_str(addr_str,&(dest->addr));
85 snprintf(ret, DEBUG_STR_LEN,
99 * serialize struct l7vs_darg
100 * @param[out] ret serialized string
101 * @param[in] dest source l7vs_dest_arg
104 inline void l7vs_darg_c_str(char *ret,const struct l7vs_dest_arg *darg)
106 char addr_str[DEBUG_STR_LEN];
109 snprintf(ret, DEBUG_STR_LEN, "(nil)");
113 l7vs_dest_sockaddr_in_c_str(addr_str,&(darg->addr));
114 snprintf(ret, DEBUG_STR_LEN,