提交 848bf45a 编写于 作者: Y youngwolf

Add more convenient typedefs.

上级 cbffb634
......@@ -156,10 +156,10 @@ protected:
virtual bool change_io_context() {reset_next_layer(get_server().get_service_pump().assign_io_context()); return true;}
};
class echo_server : public server_base<echo_socket, object_pool<echo_socket>, i_echo_server>
class echo_server : public server2<echo_socket, i_echo_server>
{
public:
echo_server(service_pump& service_pump_) : server_base(service_pump_) {}
echo_server(service_pump& service_pump_) : server2<echo_socket, i_echo_server>(service_pump_) {}
protected:
//from i_echo_server, pure virtual function, we must implement it.
......
......@@ -29,14 +29,17 @@
namespace ascs { namespace ext { namespace ssl {
typedef ascs::ssl::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> client_socket;
template<typename Matrix = i_matrix> using client_socket2 = ascs::ssl::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Matrix>;
typedef client_socket connector;
typedef ascs::ssl::single_client_base<client_socket> single_client;
typedef ascs::ssl::multi_client_base<client_socket> multi_client;
template<typename Socket, typename Matrix = i_matrix> using multi_client2 = ascs::ssl::multi_client_base<Socket, ascs::ssl::object_pool<Socket>, Matrix>;
typedef multi_client client;
typedef ascs::ssl::server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> server_socket;
template<typename Server = ascs::tcp::i_server> using server_socket2 = ascs::ssl::server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Server>;
typedef ascs::ssl::server_base<server_socket> server;
template<typename Socket, typename Server = ascs::tcp::i_server> using server2 = ascs::ssl::server_base<Socket, ascs::ssl::object_pool<Socket>, Server>;
}}} //namespace
......
......@@ -33,40 +33,50 @@
namespace ascs { namespace ext { namespace tcp {
typedef ascs::tcp::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> client_socket;
template<typename Matrix = i_matrix> using client_socket2 = ascs::tcp::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Matrix>;
typedef client_socket connector;
typedef ascs::tcp::single_client_base<client_socket> single_client;
typedef ascs::tcp::multi_client_base<client_socket> multi_client;
template<typename Socket, typename Matrix = i_matrix> using multi_client2 = ascs::tcp::multi_client_base<Socket, object_pool<Socket>, Matrix>;
typedef multi_client client;
typedef ascs::tcp::server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> server_socket;
template<typename Server = ascs::tcp::i_server> using server_socket2 = ascs::tcp::server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Server>;
typedef ascs::tcp::server_base<server_socket> server;
template<typename Socket, typename Server = ascs::tcp::i_server> using server2 = ascs::tcp::server_base<Socket, object_pool<Socket>, Server>;
#ifdef ASIO_HAS_LOCAL_SOCKETS
typedef ascs::tcp::unix_client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> unix_client_socket;
template<typename Matrix = i_matrix> using unix_client_socket2 = ascs::tcp::unix_client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Matrix>;
typedef ascs::tcp::single_client_base<unix_client_socket> unix_single_client;
typedef ascs::tcp::multi_client_base<unix_client_socket> unix_multi_client;
//typedef multi_client2 unix_multi_client2; //multi_client2 can be used for unix socket too, but we cannot typedef it (use using instead).
typedef ascs::tcp::unix_server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> unix_server_socket;
template<typename Server = ascs::tcp::i_server> using unix_server_socket2 = ascs::tcp::unix_server_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Server>;
typedef ascs::tcp::unix_server_base<unix_server_socket> unix_server;
template<typename Socket, typename Server = ascs::tcp::i_server> using unix_server2 = ascs::tcp::unix_server_base<Socket, object_pool<Socket>, Server>;
#endif
namespace proxy {
namespace socks4 {
typedef ascs::tcp::proxy::socks4::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> client_socket;
template<typename Matrix = i_matrix> using client_socket2 = ascs::tcp::proxy::socks4::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Matrix>;
typedef client_socket connector;
typedef ascs::tcp::single_client_base<client_socket> single_client;
typedef ascs::tcp::multi_client_base<client_socket> multi_client;
//typedef ascs::ext::tcp::multi_client2 multi_client2; //multi_client2 can be used for socks4 too, but we cannot typedef it (use using instead).
typedef multi_client client;
}
namespace socks5 {
typedef ascs::tcp::proxy::socks5::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER> client_socket;
template<typename Matrix = i_matrix> using client_socket2 = ascs::tcp::proxy::socks5::client_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UNPACKER, Matrix>;
typedef client_socket connector;
typedef ascs::tcp::single_client_base<client_socket> single_client;
typedef ascs::tcp::multi_client_base<client_socket> multi_client;
//typedef ascs::ext::tcp::multi_client2 multi_client2; //multi_client2 can be used for socks5 too, but we cannot typedef it (use using instead).
typedef multi_client client;
}
......
......@@ -30,14 +30,18 @@
namespace ascs { namespace ext { namespace udp {
typedef ascs::udp::socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UDP_UNPACKER> socket;
template<typename Matrix = i_matrix> using socket2 = ascs::udp::socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UDP_UNPACKER, Matrix>;
typedef ascs::udp::single_socket_service_base<socket> single_socket_service;
typedef ascs::udp::multi_socket_service_base<socket> multi_socket_service;
template<typename Socket, typename Matrix = i_matrix> using multi_socket_service2 = ascs::udp::multi_socket_service_base<Socket, object_pool<Socket>, Matrix>;
typedef multi_socket_service socket_service;
#ifdef ASIO_HAS_LOCAL_SOCKETS
typedef ascs::udp::unix_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UDP_UNPACKER> unix_socket;
template<typename Matrix = i_matrix> using unix_socket2 = ascs::udp::unix_socket_base<ASCS_DEFAULT_PACKER, ASCS_DEFAULT_UDP_UNPACKER, Matrix>;
typedef ascs::udp::single_socket_service_base<unix_socket> unix_single_socket_service;
typedef ascs::udp::multi_socket_service_base<unix_socket> unix_multi_socket_service;
//typedef multi_socket_service2 unix_multi_socket_service2; //multi_socket_service2 can be used for unix socket too, but we cannot typedef it (use using instead).
#endif
}}} //namespace
......
......@@ -211,7 +211,7 @@ private:
template<typename Socket, typename Pool = object_pool<Socket>, typename Server = tcp::i_server> using server_base = tcp::server_base<Socket, Pool, Server>;
template<typename Socket> using single_client_base = tcp::single_client_base<Socket>;
template<typename Socket, typename Pool = object_pool<Socket>> using multi_client_base = tcp::multi_client_base<Socket, Pool>;
template<typename Socket, typename Pool = object_pool<Socket>, typename Matrix = i_matrix> using multi_client_base = tcp::multi_client_base<Socket, Pool, Matrix>;
}} //namespace
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册