2 * @file SSL_Proxy_Connector.h
4 * @author Martin Corino <mcorino@remedy.nl>
7 #ifndef ACE_SSL_PROXY_CONNECTOR_H
8 #define ACE_SSL_PROXY_CONNECTOR_H
10 #include /**/ "ace/pre.h"
12 #include "ace/SSL/SSL_SOCK_Stream.h"
13 #include "ace/Time_Value.h"
15 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
22 * @class ACE_INet_SSL_Proxy_Connector
24 * @brief Provides the functionality to attach an SSL_SOCK_Stream
25 * to an established socket of a proxy tunneling service.
27 * The <connect> method will finalize the setting up an SSL connection
28 * over the tunnel by performing an SSL handhake after setting the socket
29 * in the @c SSL_SOCK_Stream.
31 class SSL_Proxy_Connector
34 SSL_Proxy_Connector ();
35 ~SSL_Proxy_Connector ();
38 * Actively connect to an already connected proxy peer, producing a
39 * connected @c ACE_SSL_SOCK_Stream object if the connection succeeds.
40 * This method uses the provided connection (socket) handle to initialize
41 * the @c ACE_SSL_SOCK_Stream object and than finalizes the connection
42 * by performing the SSL handshake.
44 int connect (ACE_SSL_SOCK_Stream
& new_stream
,
45 ACE_HANDLE proxy_handle
,
46 const ACE_Time_Value
*timeout
= 0);
48 /// Complete non-blocking SSL active connection.
49 int ssl_connect (ACE_SSL_SOCK_Stream
&new_stream
,
50 const ACE_Time_Value
*timeout
);
55 ACE_END_VERSIONED_NAMESPACE_DECL
57 #include /**/ "ace/post.h"
58 #endif /* ACE_SSL_PROXY_CONNECTOR_H */