acl/lib_acl_cpp/samples/ssl/https_proxy/master_service.h

95 lines
2.8 KiB
C
Raw Normal View History

#pragma once
////////////////////////////////////////////////////////////////////////////////
// 配置内容项
extern char *var_cfg_str;
extern acl::master_str_tbl var_conf_str_tab[];
extern int var_cfg_bool;
extern acl::master_bool_tbl var_conf_bool_tab[];
extern int var_cfg_int;
extern acl::master_int_tbl var_conf_int_tab[];
extern long long int var_cfg_int64;
extern acl::master_int64_tbl var_conf_int64_tab[];
////////////////////////////////////////////////////////////////////////////////
//class acl::socket_stream;
class master_service : public acl::master_threads
{
public:
master_service();
~master_service();
const char* get_addr(const char* from) const;
protected:
/**
*
* @param stream {socket_stream*}
* @return {bool} false
* false
*/
virtual bool thread_on_read(acl::socket_stream* stream);
/**
* 线线
*
* @param stream {socket_stream*}
* @return {bool} false
* thread_main
*/
virtual bool thread_on_accept(acl::socket_stream* stream);
/**
* IO true
*
* @param stream {socket_stream*}
* @return {bool} false
* thread_main
*/
virtual bool thread_on_timeout(acl::socket_stream* stream);
/**
* 线
* @param stream {socket_stream*}
*/
virtual void thread_on_close(acl::socket_stream* stream);
/**
* 线线
*/
virtual void thread_on_init();
/**
* 线线退
*/
virtual void thread_on_exit();
/**
*
*
*/
virtual void proc_on_init();
/**
* 退
*/
virtual void proc_on_exit();
private:
acl::polarssl_conf* server_ssl_conf_;
acl::polarssl_conf* client_ssl_conf_;
std::map<acl::string, acl::string> addrs_map_;
acl::ofstream out_;
acl::polarssl_io* setup_ssl(acl::socket_stream& conn,
acl::polarssl_conf& conf);
void create_addrs_map();
};