added function from_addres_t()

This commit is contained in:
wangyu- 2018-07-24 05:55:59 -05:00
parent 6ccd056d41
commit 2dc0670266
3 changed files with 21 additions and 24 deletions

View File

@ -299,6 +299,23 @@ char * my_ip_t::get_str2() const
} }
return res; return res;
} }
int my_ip_t::from_address_t(address_t tmp_addr)
{
if(tmp_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET)
{
v4=tmp_addr.inner.ipv4.sin_addr.s_addr;
}
else if(tmp_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET6)
{
v6=tmp_addr.inner.ipv6.sin6_addr;
}
else
{
assert(0==1);
}
return 0;
}
/* /*
int my_ip_t::from_str(char * str) int my_ip_t::from_str(char * str)
{ {

View File

@ -248,6 +248,8 @@ union my_ip_t //just a simple version of address_t,stores ip only
char * get_str1() const; char * get_str1() const;
char * get_str2() const; char * get_str2() const;
int from_address_t(address_t a);
}; };
struct not_copy_able_t struct not_copy_able_t

View File

@ -81,18 +81,7 @@ int client_on_timer(conn_info_t &conn_info) //for client. called when a timer is
tmp_addr=source_addr; tmp_addr=source_addr;
} }
if(tmp_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET) send_info.new_src_ip.from_address_t(tmp_addr);
{
send_info.new_src_ip.v4=tmp_addr.inner.ipv4.sin_addr.s_addr;
}
else if(tmp_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET6)
{
send_info.new_src_ip.v6=tmp_addr.inner.ipv6.sin6_addr;
}
else
{
assert(0==1);
}
if (force_source_port == 0) if (force_source_port == 0)
{ {
@ -1390,18 +1379,7 @@ int client_event_loop()
//init_filter(source_port); //init_filter(source_port);
if(remote_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET) send_info.new_dst_ip.from_address_t(remote_addr);
{
send_info.new_dst_ip.v4=remote_addr.inner.ipv4.sin_addr.s_addr;
}
else if(remote_addr.get_type()==raw_ip_version&&raw_ip_version==AF_INET6)
{
send_info.new_dst_ip.v6=remote_addr.inner.ipv6.sin6_addr;
}
else
{
assert(0==1);
}
send_info.dst_port=remote_addr.get_port(); send_info.dst_port=remote_addr.get_port();