提交 94a3d07f 编写于 作者: W wolf 提交者: youngowlf

Continue last committing.

上级 e61855ae
......@@ -39,7 +39,7 @@ public:
static void debug_out(const char* fmt, ...) {all_out_helper2("debug");}
};
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper::ext;
#define QUIT_COMMAND "quit"
......
......@@ -26,7 +26,7 @@
#endif
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -39,7 +39,7 @@ public:
static void debug_out(const char* fmt, ...) {all_out_helper2("debug");}
};
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper::ext;
#define QUIT_COMMAND "quit"
......
......@@ -26,7 +26,7 @@
#endif
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -7,7 +7,7 @@
#include <boost/lambda/lambda.hpp>
#include "../file_server/packer_unpacker.h"
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -3,7 +3,7 @@
#define FILE_SOCKET_H_
#include "packer_unpacker.h"
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper::ext;
class file_socket : public base_socket, public st_server_socket
......
/*
* st_asio_wrapper_ext.h
* st_asio_wrapper_net.h
*
* Created on: 2016-7-30
* Author: youngwolf
......@@ -10,10 +10,9 @@
* extensional, replaceable and indispensable components.
*/
#ifndef ST_ASIO_WRAPPER_EXT_H_
#define ST_ASIO_WRAPPER_EXT_H_
#ifndef ST_ASIO_WRAPPER_NET_H_
#define ST_ASIO_WRAPPER_NET_H_
#include "../st_asio_wrapper_base.h"
#include "../st_asio_wrapper_client.h"
#include "../st_asio_wrapper_tcp_client.h"
#include "../st_asio_wrapper_udp_client.h"
......@@ -49,4 +48,4 @@ typedef st_udp_client_base<st_udp_socket> st_udp_client;
}} //namespace
#endif /* ST_ASIO_WRAPPER_EXT_H_ */
#endif /* ST_ASIO_WRAPPER_NET_H_ */
/*
* st_asio_wrapper_ssl.h
*
* Created on: 2016-7-30
* Author: youngwolf
* email: mail2tao@163.com
* QQ: 676218192
* Community on QQ: 198941541
*
* extensional, replaceable and indispensable components.
*/
#ifndef ST_ASIO_WRAPPER_EXT_SSL_H_
#define ST_ASIO_WRAPPER_EXT_SSL_H_
#include "../st_asio_wrapper_ssl.h"
#include "st_asio_wrapper_packer.h"
#include "st_asio_wrapper_unpacker.h"
#ifndef ST_ASIO_DEFAULT_PACKER
#define ST_ASIO_DEFAULT_PACKER packer
#endif
#ifndef ST_ASIO_DEFAULT_UNPACKER
#define ST_ASIO_DEFAULT_UNPACKER unpacker
#endif
namespace st_asio_wrapper { namespace ext {
typedef st_ssl_server_socket_base<ST_ASIO_DEFAULT_PACKER, ST_ASIO_DEFAULT_UNPACKER> st_ssl_server_socket;
typedef st_ssl_server_base<st_ssl_server_socket> st_ssl_server;
typedef st_ssl_connector_base<ST_ASIO_DEFAULT_PACKER, ST_ASIO_DEFAULT_UNPACKER> st_ssl_connector;
typedef st_sclient<st_ssl_connector> st_ssl_tcp_sclient;
typedef st_tcp_client_base<st_ssl_connector, st_ssl_object_pool<st_ssl_connector> > st_ssl_tcp_client;
}} //namespace
#endif /* ST_ASIO_WRAPPER_EXT_SSL_H_ */
/*
* st_asio_wrapper_ssl_object.h
* st_asio_wrapper_ssl.h
*
* Created on: 2012-3-2
* Author: youngwolf
......@@ -26,16 +26,19 @@
namespace st_asio_wrapper
{
template <typename Packer = ST_ASIO_DEFAULT_PACKER, typename Unpacker = ST_ASIO_DEFAULT_UNPACKER, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket> >
template <typename Packer, typename Unpacker, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket> >
class st_ssl_connector_base : public st_connector_base<Packer, Unpacker, Socket>
{
protected:
typedef st_connector_base<Packer, Unpacker, Socket> super;
public:
using st_connector_base<Packer, Unpacker, Socket>::TIMER_BEGIN;
using st_connector_base<Packer, Unpacker, Socket>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_connector_base(boost::asio::io_service& io_service_, boost::asio::ssl::context& ctx) : st_connector_base<Packer, Unpacker, Socket>(io_service_, ctx), authorized_(false) {}
st_ssl_connector_base(boost::asio::io_service& io_service_, boost::asio::ssl::context& ctx) : super(io_service_, ctx), authorized_(false) {}
virtual void reset() {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::reset();}
virtual void reset() {authorized_ = false; super::reset();}
bool authorized() const {return authorized_;}
void disconnect(bool reconnect = false) {force_close(reconnect);}
......@@ -45,7 +48,7 @@ public:
unified_out::error_out("boost::asio::ssl::stream not support reuse!");
if (!shutdown_ssl())
st_connector_base<Packer, Unpacker, Socket>::force_close(false);
super::force_close(false);
}
void graceful_close(bool reconnect = false, bool sync = true)
......@@ -54,7 +57,7 @@ public:
unified_out::error_out("boost::asio::ssl::stream not support reuse!");
if (!shutdown_ssl())
st_connector_base<Packer, Unpacker, Socket>::graceful_close(false, sync);
super::graceful_close(false, sync);
}
protected:
......@@ -76,8 +79,8 @@ protected:
return false;
}
virtual void on_unpack_error() {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::on_unpack_error();}
virtual void on_recv_error(const boost::system::error_code& ec) {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::on_recv_error(ec);}
virtual void on_unpack_error() {authorized_ = false; super::on_unpack_error();}
virtual void on_recv_error(const boost::system::error_code& ec) {authorized_ = false; super::on_recv_error(ec);}
virtual void on_handshake(const boost::system::error_code& ec)
{
if (!ec)
......@@ -85,7 +88,7 @@ protected:
else
unified_out::error_out("handshake failed: %s", ec.message().data());
}
virtual bool is_send_allowed() const {return authorized() && st_connector_base<Packer, Unpacker, Socket>::is_send_allowed();}
virtual bool is_send_allowed() const {return authorized() && super::is_send_allowed();}
bool shutdown_ssl()
{
......@@ -136,20 +139,21 @@ private:
protected:
bool authorized_;
};
typedef st_ssl_connector_base<> st_ssl_connector;
typedef st_sclient<st_ssl_connector> st_ssl_tcp_sclient;
template<typename Object>
class st_ssl_object_pool : public st_object_pool<Object>
{
protected:
typedef st_object_pool<Object> super;
public:
using st_object_pool<Object>::TIMER_BEGIN;
using st_object_pool<Object>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_object_pool(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : st_object_pool<Object>(service_pump_), ctx(m) {}
st_ssl_object_pool(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : super(service_pump_), ctx(m) {}
boost::asio::ssl::context& ssl_context() {return ctx;}
using st_object_pool<Object>::create_object;
using super::create_object;
typename st_ssl_object_pool::object_type create_object() {return create_object(boost::ref(ST_THIS service_pump), boost::ref(ctx));}
template<typename Arg>
typename st_ssl_object_pool::object_type create_object(Arg& arg) {return create_object(arg, boost::ref(ctx));}
......@@ -157,27 +161,31 @@ public:
protected:
boost::asio::ssl::context ctx;
};
typedef st_tcp_client_base<st_ssl_connector, st_ssl_object_pool<st_ssl_connector> > st_ssl_tcp_client;
template<typename Packer = ST_ASIO_DEFAULT_PACKER, typename Unpacker = ST_ASIO_DEFAULT_UNPACKER, typename Server = i_server, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket> >
template<typename Packer, typename Unpacker, typename Server = i_server, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket> >
class st_ssl_server_socket_base : public st_server_socket_base<Packer, Unpacker, Server, Socket> //so cumbersome, what should we do to make it as simple as normal edition?
{
protected:
typedef st_server_socket_base<Packer, Unpacker, Server, Socket> super;
public:
using st_server_socket_base<Packer, Unpacker, Server, Socket>::TIMER_BEGIN;
using st_server_socket_base<Packer, Unpacker, Server, Socket>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_server_socket_base(Server& server_, boost::asio::ssl::context& ctx) : st_server_socket_base<Packer, Unpacker, Server, Socket>(server_, ctx) {}
st_ssl_server_socket_base(Server& server_, boost::asio::ssl::context& ctx) : super(server_, ctx) {}
};
typedef st_ssl_server_socket_base<> st_ssl_server_socket;
template<typename Socket = st_ssl_server_socket, typename Pool = st_ssl_object_pool<Socket>, typename Server = i_server>
template<typename Socket, typename Pool = st_ssl_object_pool<Socket>, typename Server = i_server>
class st_ssl_server_base : public st_server_base<Socket, Pool, Server>
{
protected:
typedef st_server_base<Socket, Pool, Server> super;
public:
using st_server_base<Socket, Pool, Server>::TIMER_BEGIN;
using st_server_base<Socket, Pool, Server>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_server_base(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : st_server_base<Socket, Pool, Server>(service_pump_, m) {}
st_ssl_server_base(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : super(service_pump_, m) {}
protected:
virtual void on_handshake(const boost::system::error_code& ec, typename st_ssl_server_base::object_ctype& client_ptr)
......@@ -220,7 +228,6 @@ private:
client_ptr->start();
}
};
typedef st_ssl_server_base<> st_ssl_server;
} //namespace
......
......@@ -29,7 +29,7 @@ template <typename Packer, typename Unpacker, typename Socket = boost::asio::ip:
class st_udp_socket_base : public st_socket<Socket, Packer, Unpacker, udp_msg<typename Packer::msg_type>, udp_msg<typename Unpacker::msg_type> >
{
protected:
typedef st_socket<Socket, Packer, Unpacker, udp_msg<typename Packer::msg_type>, udp_msg<typename Unpacker::msg_type>> super;
typedef st_socket<Socket, Packer, Unpacker, udp_msg<typename Packer::msg_type>, udp_msg<typename Unpacker::msg_type> > super;
public:
typedef udp_msg<typename Packer::msg_type> in_msg_type;
......
......@@ -12,7 +12,7 @@
#define ST_ASIO_MSG_BUFFER_SIZE 65536
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -9,7 +9,7 @@
#define ST_ASIO_MSG_BUFFER_SIZE 65536
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -9,8 +9,9 @@
//#define ST_ASIO_DEFAULT_UNPACKER replaceable_unpacker
//configuration
#include "../include/st_asio_wrapper_ssl.h"
#include "../include/ext/st_asio_wrapper_ssl.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
#define QUIT_COMMAND "quit"
#define RESTART_COMMAND "restart"
......
......@@ -30,7 +30,7 @@
#define ST_ASIO_DEFAULT_UNPACKER prefix_suffix_unpacker
#endif
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -6,7 +6,7 @@
//#define ST_ASIO_DEFAULT_UDP_UNPACKER replaceable_udp_unpacker
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -5,7 +5,7 @@
#include <boost/timer/timer.hpp>
#include "../file_server/packer_unpacker.h"
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -3,7 +3,7 @@
#define FILE_SOCKET_H_
#include "packer_unpacker.h"
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper::ext;
class file_socket : public base_socket, public st_server_socket
......
/*
* st_asio_wrapper_ext.h
* st_asio_wrapper_net.h
*
* Created on: 2016-7-30
* Author: youngwolf
......@@ -10,10 +10,9 @@
* extensional, replaceable and indispensable components.
*/
#ifndef ST_ASIO_WRAPPER_EXT_H_
#define ST_ASIO_WRAPPER_EXT_H_
#ifndef ST_ASIO_WRAPPER_NET_H_
#define ST_ASIO_WRAPPER_NET_H_
#include "../st_asio_wrapper_base.h"
#include "../st_asio_wrapper_client.h"
#include "../st_asio_wrapper_tcp_client.h"
#include "../st_asio_wrapper_udp_client.h"
......@@ -49,4 +48,4 @@ typedef st_udp_client_base<st_udp_socket> st_udp_client;
}} //namespace
#endif /* ST_ASIO_WRAPPER_EXT_H_ */
#endif /* ST_ASIO_WRAPPER_NET_H_ */
/*
* st_asio_wrapper_ssl.h
*
* Created on: 2016-7-30
* Author: youngwolf
* email: mail2tao@163.com
* QQ: 676218192
* Community on QQ: 198941541
*
* extensional, replaceable and indispensable components.
*/
#ifndef ST_ASIO_WRAPPER_EXT_SSL_H_
#define ST_ASIO_WRAPPER_EXT_SSL_H_
#include "../st_asio_wrapper_ssl.h"
#include "st_asio_wrapper_packer.h"
#include "st_asio_wrapper_unpacker.h"
#ifndef ST_ASIO_DEFAULT_PACKER
#define ST_ASIO_DEFAULT_PACKER packer
#endif
#ifndef ST_ASIO_DEFAULT_UNPACKER
#define ST_ASIO_DEFAULT_UNPACKER unpacker
#endif
namespace st_asio_wrapper { namespace ext {
typedef st_ssl_server_socket_base<ST_ASIO_DEFAULT_PACKER, ST_ASIO_DEFAULT_UNPACKER> st_ssl_server_socket;
typedef st_ssl_server_base<st_ssl_server_socket> st_ssl_server;
typedef st_ssl_connector_base<ST_ASIO_DEFAULT_PACKER, ST_ASIO_DEFAULT_UNPACKER> st_ssl_connector;
typedef st_sclient<st_ssl_connector> st_ssl_tcp_sclient;
typedef st_tcp_client_base<st_ssl_connector, st_ssl_object_pool<st_ssl_connector> > st_ssl_tcp_client;
}} //namespace
#endif /* ST_ASIO_WRAPPER_EXT_SSL_H_ */
/*
* st_asio_wrapper_ssl_object.h
* st_asio_wrapper_ssl.h
*
* Created on: 2012-3-2
* Author: youngwolf
......@@ -26,16 +26,19 @@
namespace st_asio_wrapper
{
template <typename Packer = ST_ASIO_DEFAULT_PACKER, typename Unpacker = ST_ASIO_DEFAULT_UNPACKER, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>
template <typename Packer, typename Unpacker, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>
class st_ssl_connector_base : public st_connector_base<Packer, Unpacker, Socket>
{
protected:
typedef st_connector_base<Packer, Unpacker, Socket> super;
public:
using st_connector_base<Packer, Unpacker, Socket>::TIMER_BEGIN;
using st_connector_base<Packer, Unpacker, Socket>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_connector_base(boost::asio::io_service& io_service_, boost::asio::ssl::context& ctx) : st_connector_base<Packer, Unpacker, Socket>(io_service_, ctx), authorized_(false) {}
st_ssl_connector_base(boost::asio::io_service& io_service_, boost::asio::ssl::context& ctx) : super(io_service_, ctx), authorized_(false) {}
virtual void reset() {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::reset();}
virtual void reset() {authorized_ = false; super::reset();}
bool authorized() const {return authorized_;}
void disconnect(bool reconnect = false) {force_close(reconnect);}
......@@ -45,7 +48,7 @@ public:
unified_out::error_out("boost::asio::ssl::stream not support reuse!");
if (!shutdown_ssl())
st_connector_base<Packer, Unpacker, Socket>::force_close(false);
super::force_close(false);
}
void graceful_close(bool reconnect = false, bool sync = true)
......@@ -54,7 +57,7 @@ public:
unified_out::error_out("boost::asio::ssl::stream not support reuse!");
if (!shutdown_ssl())
st_connector_base<Packer, Unpacker, Socket>::graceful_close(false, sync);
super::graceful_close(false, sync);
}
protected:
......@@ -76,8 +79,8 @@ protected:
return false;
}
virtual void on_unpack_error() {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::on_unpack_error();}
virtual void on_recv_error(const boost::system::error_code& ec) {authorized_ = false; st_connector_base<Packer, Unpacker, Socket>::on_recv_error(ec);}
virtual void on_unpack_error() {authorized_ = false; super::on_unpack_error();}
virtual void on_recv_error(const boost::system::error_code& ec) {authorized_ = false; super::on_recv_error(ec);}
virtual void on_handshake(const boost::system::error_code& ec)
{
if (!ec)
......@@ -85,7 +88,7 @@ protected:
else
unified_out::error_out("handshake failed: %s", ec.message().data());
}
virtual bool is_send_allowed() const {return authorized() && st_connector_base<Packer, Unpacker, Socket>::is_send_allowed();}
virtual bool is_send_allowed() const {return authorized() && super::is_send_allowed();}
bool shutdown_ssl()
{
......@@ -136,20 +139,21 @@ private:
protected:
bool authorized_;
};
typedef st_ssl_connector_base<> st_ssl_connector;
typedef st_sclient<st_ssl_connector> st_ssl_tcp_sclient;
template<typename Object>
class st_ssl_object_pool : public st_object_pool<Object>
{
protected:
typedef st_object_pool<Object> super;
public:
using st_object_pool<Object>::TIMER_BEGIN;
using st_object_pool<Object>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_object_pool(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : st_object_pool<Object>(service_pump_), ctx(m) {}
st_ssl_object_pool(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : super(service_pump_), ctx(m) {}
boost::asio::ssl::context& ssl_context() {return ctx;}
using st_object_pool<Object>::create_object;
using super::create_object;
typename st_ssl_object_pool::object_type create_object() {return create_object(ST_THIS service_pump, ctx);}
template<typename Arg>
typename st_ssl_object_pool::object_type create_object(Arg& arg) {return create_object(arg, ctx);}
......@@ -157,20 +161,21 @@ public:
protected:
boost::asio::ssl::context ctx;
};
typedef st_tcp_client_base<st_ssl_connector, st_ssl_object_pool<st_ssl_connector>> st_ssl_tcp_client;
template<typename Packer = ST_ASIO_DEFAULT_PACKER, typename Unpacker = ST_ASIO_DEFAULT_UNPACKER, typename Server = i_server, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>
template<typename Packer, typename Unpacker, typename Server = i_server, typename Socket = boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>
using st_ssl_server_socket_base = st_server_socket_base<Packer, Unpacker, Server, Socket>;
typedef st_ssl_server_socket_base<> st_ssl_server_socket;
template<typename Socket = st_ssl_server_socket, typename Pool = st_ssl_object_pool<Socket>, typename Server = i_server>
template<typename Socket, typename Pool = st_ssl_object_pool<Socket>, typename Server = i_server>
class st_ssl_server_base : public st_server_base<Socket, Pool, Server>
{
protected:
typedef st_server_base<Socket, Pool, Server> super;
public:
using st_server_base<Socket, Pool, Server>::TIMER_BEGIN;
using st_server_base<Socket, Pool, Server>::TIMER_END;
using super::TIMER_BEGIN;
using super::TIMER_END;
st_ssl_server_base(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : st_server_base<Socket, Pool, Server>(service_pump_, m) {}
st_ssl_server_base(st_service_pump& service_pump_, boost::asio::ssl::context::method m) : super(service_pump_, m) {}
protected:
virtual void on_handshake(const boost::system::error_code& ec, typename st_ssl_server_base::object_ctype& client_ptr)
......@@ -213,7 +218,6 @@ private:
client_ptr->start();
}
};
typedef st_ssl_server_base<> st_ssl_server;
} //namespace
......
......@@ -12,7 +12,7 @@
#define ST_ASIO_MSG_BUFFER_SIZE 65536
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -9,7 +9,7 @@
#define ST_ASIO_MSG_BUFFER_SIZE 65536
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -9,8 +9,9 @@
//#define ST_ASIO_DEFAULT_UNPACKER replaceable_unpacker
//configuration
#include "../include/st_asio_wrapper_ssl.h"
#include "../include/ext/st_asio_wrapper_ssl.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
#define QUIT_COMMAND "quit"
#define RESTART_COMMAND "restart"
......
......@@ -28,7 +28,7 @@
#define ST_ASIO_DEFAULT_UNPACKER prefix_suffix_unpacker
#endif
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
......@@ -6,7 +6,7 @@
//#define ST_ASIO_DEFAULT_UDP_UNPACKER replaceable_udp_unpacker
//configuration
#include "../include/ext/st_asio_wrapper_ext.h"
#include "../include/ext/st_asio_wrapper_net.h"
using namespace st_asio_wrapper;
using namespace st_asio_wrapper::ext;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册