/*
 * @file
 * @brief
 * @version
 * @author
 * @date
 * @note
 * @warning
 * @bug
 * @copyright
 * */
#ifndef __net_service_hpp__
#define __net_service_hpp__

#include <znet.h>
#include <zstream.h>

struct client;
struct worker;
struct tdoa_sync;

struct net_service:service_callback
{
	worker*   m_loc_worker;
	tdoa_sync*m_sync_worker;

	net_service();
	~net_service();

	void on_message(const std::shared_ptr<client> &clt,const char*data,size_t len);
	void on_timer();
    void on_connect(const std::shared_ptr<client> &clt);

    int32_t parse_data_anchor(const std::shared_ptr<client>& clt, zistream& s);
    int32_t parse_data_anchor_opt(const std::shared_ptr<client>& clt, zistream& s);
	// 网络校时
	void net_cali_time(const std::shared_ptr<client>& clt);
	// can校时
	void can_cali_time(const std::shared_ptr<client>& clt, const int& reader_id);
};

#endif