ssl/ipv6_tcpserver.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CONEXUS_SSL_IPV6_TCPSERVER_H
00020 #define CONEXUS_SSL_IPV6_TCPSERVER_H
00021
00022 #include <conexus/ipv6_tcpserver.h>
00023
00024 #include <conexus-ssl/context.h>
00025 #include <conexus-ssl/ipv6_tcp.h>
00026
00027 namespace Conexus
00028 {
00029
00030 namespace SSL
00031 {
00032
00033 namespace IPv6
00034 {
00035
00039 class TCPServer: public Conexus::IPv6::TCPServer
00040 {
00041 protected:
00042
00043 TCPServer ( Context::pointer context, uint32_t address, uint16_t port, int backlog );
00044
00045 TCPServer ( Context::pointer context, const struct in6_addr& address, uint16_t port, int backlog );
00046
00047 TCPServer ( Context::pointer context, const std::string& address, uint16_t port, int backlog );
00048
00049 public:
00050 typedef ConexusPointer<TCPServer> pointer;
00051
00052 static pointer create ( Context::pointer context, uint16_t port = 0, int backlog = 5 );
00053
00054 static pointer create ( Context::pointer context, uint32_t address, uint16_t port, int backlog = 5 );
00055
00056 static pointer create ( Context::pointer context, const struct in6_addr& address, uint16_t port, int backlog = 5 );
00057
00058 static pointer create ( Context::pointer context, const std::string& address, uint16_t port=0, int backlog = 5 );
00059
00060 virtual ~TCPServer();
00061
00062 Context::pointer context();
00063
00064 void set_context ( Context::pointer c );
00065
00066 void set_blocking();
00067
00068 protected:
00069 Context::pointer m_context;
00070
00071 virtual Conexus::IPv6::TCP::pointer create_accepted_endpoint ( int fd );
00072
00073 };
00074
00075 }
00076
00077 }
00078
00079 }
00080
00081 #endif