|
@@ -1,4 +1,3 @@
|
|
|
-
|
|
|
#include <thread>
|
|
|
#include <mutex>
|
|
|
#include <atomic>
|
|
@@ -16,51 +15,11 @@
|
|
|
#include "net-service.h"
|
|
|
#include "ant.h"
|
|
|
#include "card.h"
|
|
|
-#include "mine_business.h"
|
|
|
#include "crc.h"
|
|
|
-#include "clock.h"
|
|
|
-
|
|
|
-struct timer_worker_thread: loop_thread
|
|
|
-{
|
|
|
- void do_task_0001()
|
|
|
- {
|
|
|
- static int version = -1;
|
|
|
- visit_site_status vss;
|
|
|
- sit_list::instance()->accept(vss);
|
|
|
- int v = card_list::instance()->version();
|
|
|
- card_list_visit clv;
|
|
|
- if(v != version)
|
|
|
- {
|
|
|
- version=v;
|
|
|
- clv._flag=true;
|
|
|
- mine_business::inst()->clear_vehicle();
|
|
|
- }
|
|
|
- card_list::instance()->accept(clv);
|
|
|
- mine_business::inst()->run_business();
|
|
|
- }
|
|
|
-
|
|
|
- void do_task(task&t)
|
|
|
- {
|
|
|
- zclock clock;
|
|
|
- switch(t.m_cmd_code)
|
|
|
- {
|
|
|
- case 0x0001:
|
|
|
- {
|
|
|
- do_task_0001();
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- t.destroy();
|
|
|
- log_info("task=%d,use time:%ldus",t.m_cmd_code, clock.count_us());
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-std::unique_ptr<timer_worker_thread> m_timer_worker;
|
|
|
+#include "mine_business.h"
|
|
|
|
|
|
net_service::net_service()
|
|
|
{
|
|
|
- m_timer_worker.reset(new timer_worker_thread());
|
|
|
m_loc_worker=worker::instance();
|
|
|
m_sync_worker=tdoa_sync::instance();
|
|
|
}
|
|
@@ -69,16 +28,12 @@ net_service::~net_service()
|
|
|
{
|
|
|
if(m_loc_worker)
|
|
|
m_loc_worker->stop();
|
|
|
-
|
|
|
- m_timer_worker->stop();
|
|
|
}
|
|
|
|
|
|
void net_service::on_timer()
|
|
|
{
|
|
|
- task*t=task::alloc<task>();
|
|
|
- t->m_cmd_code=1;
|
|
|
- t->m_hash_id=0;
|
|
|
- m_timer_worker->async_request(t);
|
|
|
+ visit_site_status vss;
|
|
|
+ sit_list::instance()->accept(vss);
|
|
|
}
|
|
|
|
|
|
void net_service::on_connect(const std::shared_ptr<client>& clt)
|
|
@@ -126,7 +81,7 @@ void net_service::on_message(const std::shared_ptr<client> &clt,const char*data,
|
|
|
char timebuf[64]{0};
|
|
|
strftime(timebuf,64,"%F %T",&site_tm);
|
|
|
logn_info(1,"分站数据信息:net=%s,sid=%d,tm=%s,sct=%d,power=%s", clt->name().c_str(), site_id,timebuf,
|
|
|
- site_ct, site_ptr->m_power_check_enable?((power&1)?"ac":"dc"):"unkown");
|
|
|
+ site_ct, site_ptr->m_power_check_enable?((power&1)?"ac":"dc"):"??");
|
|
|
|
|
|
time_t site_time=mktime(&site_tm);
|
|
|
double diff=difftime(site_time, site_ptr->last_site_time());
|
|
@@ -235,7 +190,7 @@ void net_service::on_message(const std::shared_ptr<client> &clt,const char*data,
|
|
|
case CHAR_VIRTUAL_DATA_PUSH_CMD://虚拟数据链接
|
|
|
{
|
|
|
logn_info(1,"接收到虚拟链接:%s",clt->name().c_str());
|
|
|
- clt->set(2);
|
|
|
+ clt->set_conn_type(2);
|
|
|
}
|
|
|
break;
|
|
|
default:
|