y_socket_t: add some node functions
This commit is contained in:
@@ -25,5 +25,7 @@ void init_len_list_y_NODE_T(struct main_list_y_NODE_T *listNodes);
|
|||||||
int y_NODE_T_cmp(y_NODE_T nodeA, y_NODE_T nodeB);
|
int y_NODE_T_cmp(y_NODE_T nodeA, y_NODE_T nodeB);
|
||||||
|
|
||||||
struct list_y_NODE_T * search_node_in_list_y_NODE_T(struct main_list_y_NODE_T *listNodes, y_NODE_T node);
|
struct list_y_NODE_T * search_node_in_list_y_NODE_T(struct main_list_y_NODE_T *listNodes, y_NODE_T node);
|
||||||
|
int set_addr_y_NODE_T(y_NODE_T *node, char * addrStr);
|
||||||
|
|
||||||
|
|
||||||
#endif /* __Y_NODE_T_H__C */
|
#endif /* __Y_NODE_T_H__C */
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ extern const int af_array[nbIpVersion];//={AF_INET, AF_INET6};
|
|||||||
struct y_socket_t{
|
struct y_socket_t{
|
||||||
struct pollfd fds[nbIpVersion];
|
struct pollfd fds[nbIpVersion];
|
||||||
char * port;
|
char * port;
|
||||||
struct main_list_y_NODE_T nodes;
|
struct main_list_y_NODE_T *nodes;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -41,5 +41,26 @@ struct list_y_NODE_T * search_node_in_list_y_NODE_T(struct main_list_y_NODE_T *l
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
int set_addr_y_NODE_T(y_NODE_T *node, char * addrStr){
|
||||||
|
int af = AF_INET, ret = -2;
|
||||||
|
for(int i=0; i<strlen(addrStr); ++i){
|
||||||
|
if(addrStr[i]=='.')
|
||||||
|
break;
|
||||||
|
if(addrStr[i]==':'){
|
||||||
|
af=AF_INET6;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
node->addr.ss_family = af;
|
||||||
|
if(af==AF_INET)
|
||||||
|
ret = inet_pton(af, addrStr, &(GET_IN_type_ADDR(&(node->addr),)));
|
||||||
|
else if(af == AF_INET6)
|
||||||
|
ret = inet_pton(af, addrStr, (GET_IN_type_ADDR(&(node->addr), 6)));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,13 @@ const int af_array[nbIpVersion]={AF_INET, AF_INET6};
|
|||||||
struct y_socket_t * y_socket_create(char *port){
|
struct y_socket_t * y_socket_create(char *port){
|
||||||
struct y_socket_t *sock_temp=malloc(sizeof(struct y_socket_t));
|
struct y_socket_t *sock_temp=malloc(sizeof(struct y_socket_t));
|
||||||
sock_temp->port=port;
|
sock_temp->port=port;
|
||||||
|
sock_temp->nodes = create_var_list_y_NODE_T();
|
||||||
return sock_temp;
|
return sock_temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void y_socket_free(struct y_socket_t *socket){
|
void y_socket_free(struct y_socket_t *socket){
|
||||||
|
|
||||||
|
free_all_var_list_y_NODE_T(socket->nodes);
|
||||||
|
|
||||||
free(socket);
|
free(socket);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,11 +100,23 @@ TEST(searchNode){
|
|||||||
GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3");
|
GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3");
|
||||||
push_back_list_y_NODE_T(listNodes, nA);
|
push_back_list_y_NODE_T(listNodes, nA);
|
||||||
|
|
||||||
GET_IN_type_ADDR(&(nB.addr),) = inet_addr("0.1.1.1");
|
//GET_IN_type_ADDR(&(nB.addr),) = inet_addr("0.1.1.1");
|
||||||
// push_back_list_y_NODE_T(listNodes, nB);
|
int ret = set_addr_y_NODE_T(&nB, "0.1.1.1");
|
||||||
|
LOG("return of set =%d\n", ret);
|
||||||
|
|
||||||
EXPECT_TRUE(NULL == search_node_in_list_y_NODE_T(listNodes, nB));
|
EXPECT_TRUE(NULL == search_node_in_list_y_NODE_T(listNodes, nB));
|
||||||
GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3");
|
//GET_IN_type_ADDR(&(nA.addr),) = inet_addr("1.1.1.3");
|
||||||
|
inet_pton(AF_INET, "1.1.1.3", &(GET_IN_type_ADDR(&(nA.addr),)));
|
||||||
|
EXPECT_FALSE(NULL == search_node_in_list_y_NODE_T(listNodes, nA));
|
||||||
|
|
||||||
|
//inet_pton(AF_INET6, "::1", GET_IN_type_ADDR(&(nB.addr),6));
|
||||||
|
ret = set_addr_y_NODE_T(&nB, "::1");
|
||||||
|
LOG("return of set =%d\n", ret);
|
||||||
|
push_back_list_y_NODE_T(listNodes, nB);
|
||||||
|
|
||||||
|
//inet_pton(AF_INET6, "::", GET_IN_type_ADDR(&(nA.addr),6));
|
||||||
|
ret = set_addr_y_NODE_T(&nB, "::");
|
||||||
|
LOG("return of set =%d\n", ret);
|
||||||
EXPECT_FALSE(NULL == search_node_in_list_y_NODE_T(listNodes, nA));
|
EXPECT_FALSE(NULL == search_node_in_list_y_NODE_T(listNodes, nA));
|
||||||
|
|
||||||
free_all_var_list_y_NODE_T(listNodes);
|
free_all_var_list_y_NODE_T(listNodes);
|
||||||
@@ -113,6 +125,9 @@ TEST(searchNode){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv){
|
int main(int argc, char **argv){
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user