From 547d90ec7bbab2651125289db8336cb7c01306bd Mon Sep 17 00:00:00 2001 From: Dmitry Gerasimov <dmitriy.gerasimov@demlabs.net> Date: Thu, 25 Aug 2022 18:19:16 +0700 Subject: [PATCH] [*] Time fix --- modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c | 5 ++--- modules/net/dap_chain_node_client.c | 5 +++-- modules/net/srv/dap_chain_net_srv_client.c | 5 ++--- modules/net/srv/include/dap_chain_net_srv.h | 3 ++- modules/service/vpn/dap_chain_net_vpn_client.c | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c index 9b4a3b43b5..e104d7211e 100644 --- a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c +++ b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c @@ -25,6 +25,7 @@ along with any CellFrame SDK based project. If not, see <http://www.gnu.org/lic #include <sys/time.h> #include <time.h> #include "dap_global_db.h" +#include "dap_time.h" #include "dap_timerfd.h" #include "dap_hash.h" #include "rand/dap_rand.h" @@ -396,9 +397,7 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch , void* a_arg) } l_request->err_code = 0; strncpy(l_request->ip_send, a_ch->stream->esocket->hostaddr, INET_ADDRSTRLEN); - struct timespec l_recvtime2; - clock_gettime(CLOCK_REALTIME, &l_recvtime2); - l_request->recv_time2 = l_recvtime2; + l_request->recv_time2 = dap_nanotime_now(); dap_stream_ch_pkt_write_unsafe(a_ch, DAP_STREAM_CH_CHAIN_NET_SRV_PKT_TYPE_CHECK_RESPONSE, l_request, l_request->data_size + sizeof(pkt_test_t)); diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index 911dd035f4..dca8e4a052 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -20,6 +20,7 @@ along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. */ +#include "dap_time.h" #include <stdlib.h> #include <stdio.h> #include <time.h> @@ -650,8 +651,8 @@ static int s_save_stat_to_database(dap_stream_ch_chain_net_srv_pkt_test_t *a_req int l_ret = 0; if(!a_request) return -1; - long l_t1_ms = a_request->send_time1.tv_sec * 1000 + a_request->send_time1.tv_nsec / 1e6; - long l_t2_ms = a_request->recv_time1.tv_sec * 1000 + a_request->recv_time1.tv_nsec / 1e6; + long l_t1_ms = a_request->send_time1 / 1e6; + long l_t2_ms = a_request->recv_time1 / 1e6; struct json_object *jobj = json_object_new_object(); time_t l_cur_t = time(NULL); char buf[1024]; diff --git a/modules/net/srv/dap_chain_net_srv_client.c b/modules/net/srv/dap_chain_net_srv_client.c index ace4bf6002..4817673d5b 100644 --- a/modules/net/srv/dap_chain_net_srv_client.c +++ b/modules/net/srv/dap_chain_net_srv_client.c @@ -27,6 +27,7 @@ along with any CellFrame SDK based project. If not, see <http://www.gnu.org/lic #include "dap_chain_net_srv.h" #include "dap_chain_net_srv_client.h" #include "dap_common.h" +#include "dap_time.h" #define LOG_TAG "dap_chain_net_srv_client" @@ -119,9 +120,7 @@ static void s_srv_client_pkt_in(dap_stream_ch_chain_net_srv_t *a_ch_chain, uint8 l_srv_client->callbacks_arg); break; } - struct timespec l_recv_time; - clock_gettime(CLOCK_REALTIME, &l_recv_time); - l_response->recv_time1 = l_recv_time; + l_response->recv_time1 = dap_nanotime_now(); dap_chain_hash_fast_t l_data_hash; dap_hash_fast(l_response->data, l_response->data_size, &l_data_hash); if (!dap_hash_fast_compare(&l_data_hash, &l_response->data_hash)) { diff --git a/modules/net/srv/include/dap_chain_net_srv.h b/modules/net/srv/include/dap_chain_net_srv.h index e42da15fa0..90efd985de 100755 --- a/modules/net/srv/include/dap_chain_net_srv.h +++ b/modules/net/srv/include/dap_chain_net_srv.h @@ -32,6 +32,7 @@ along with any CellFrame SDK based project. If not, see <http://www.gnu.org/lic #include "dap_common.h" #include "dap_config.h" #include "dap_stream_ch.h" +#include "dap_time.h" //Service direction enum dap_chain_net_srv_order_direction{ @@ -169,7 +170,7 @@ typedef struct dap_stream_ch_chain_net_srv_pkt_test { dap_chain_net_id_t net_id; dap_chain_net_srv_uid_t srv_uid; int32_t time_connect_ms; - struct timespec recv_time1, recv_time2, send_time1, send_time2; + dap_nanotime_t recv_time1, recv_time2, send_time1, send_time2; byte_t ip_send[INET_ADDRSTRLEN], ip_recv[INET_ADDRSTRLEN]; int32_t err_code; uint64_t data_size_send, data_size_recv, data_size; diff --git a/modules/service/vpn/dap_chain_net_vpn_client.c b/modules/service/vpn/dap_chain_net_vpn_client.c index ecac0fa883..d8917a2ff4 100644 --- a/modules/service/vpn/dap_chain_net_vpn_client.c +++ b/modules/service/vpn/dap_chain_net_vpn_client.c @@ -41,6 +41,7 @@ #include "dap_common.h" #include "dap_config.h" #include "dap_strfuncs.h" +#include "dap_time.h" #include "rand/dap_rand.h" #ifdef DAP_OS_LINUX @@ -555,8 +556,7 @@ int dap_chain_net_vpn_client_check(dap_chain_net_t *a_net, const char *a_ipv4_st if(a_ipv4_str) memcpy(l_request->ip_recv, a_ipv4_str, min(sizeof(l_request->ip_recv), strlen(a_ipv4_str))); l_request->time_connect_ms = l_dtime_connect_ms; - clock_gettime(CLOCK_REALTIME, &l_t); - l_request->send_time1 = l_t; + l_request->send_time1 = dap_nanotime_now(); size_t l_request_size = l_request->data_size + sizeof(dap_stream_ch_chain_net_srv_pkt_test_t); dap_stream_ch_pkt_write_unsafe(l_ch, DAP_STREAM_CH_CHAIN_NET_SRV_PKT_TYPE_CHECK_REQUEST, l_request, l_request_size); dap_stream_ch_set_ready_to_write_unsafe(l_ch, true); -- GitLab