blocxx
Public Member Functions | Private Member Functions | Private Attributes
BLOCXX_NAMESPACE::SSLSocketImpl Class Reference

#include <SSLSocketImpl.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::SSLSocketImpl:
BLOCXX_NAMESPACE::SocketBaseImpl BLOCXX_NAMESPACE::SelectableIFC BLOCXX_NAMESPACE::IOIFC BLOCXX_NAMESPACE::IntrusiveCountableBase

List of all members.

Public Member Functions

 SSLSocketImpl (SSLClientCtxRef sslCtx)
 SSLSocketImpl ()
 SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType, const SSLServerCtxRef &sslCtx)
 This constructor is to be used only for server sockets.
 SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType)
 This constructor is to be used only for server sockets.
 SSLSocketImpl (const SocketAddress &addr)
virtual ~SSLSocketImpl ()
virtual void connect (const SocketAddress &addr)
virtual void disconnect ()
Select_t getSelectObj () const
SSL * getSSL () const
 return the SSL structure associated with the socket
bool peerCertVerified () const
 Did the peer certificate pass verification?
- Public Member Functions inherited from BLOCXX_NAMESPACE::SocketBaseImpl
 SocketBaseImpl ()
 SocketBaseImpl (SocketHandle_t fd, SocketAddress::AddressType addrType)
 SocketBaseImpl (const SocketAddress &addr)
virtual ~SocketBaseImpl ()
void setReceiveTimeout (const Timeout &timeout)
Timeout getReceiveTimeout () const
void setSendTimeout (const Timeout &timeout)
Timeout getSendTimeout () const
void setConnectTimeout (const Timeout &timeout)
Timeout getConnectTimeout () const
void setTimeouts (const Timeout &timeout)
bool receiveTimeOutExpired () const
int write (const void *dataOut, int dataOutLen, ErrorAction errorAsException=E_RETURN_ON_ERROR)
 Write a specified number of bytes to the device that is exposing the IOIFC interface.
int read (void *dataIn, int dataInLen, ErrorAction errorAsException=E_RETURN_ON_ERROR)
 Read a specified number of bytes from the device that is exposing the IOIFC interface.
bool waitForOutput (const Timeout &timeout)
std::istream & getInputStream ()
std::ostream & getOutputStream ()
std::iostream & getIOStream ()
SocketAddress getLocalAddress () const
SocketAddress getPeerAddress () const
SocketHandle_t getfd () const
bool isConnected () const
- Public Member Functions inherited from BLOCXX_NAMESPACE::SelectableIFC
virtual ~SelectableIFC ()
- Public Member Functions inherited from BLOCXX_NAMESPACE::IOIFC
virtual ~IOIFC ()

Private Member Functions

virtual int readAux (void *dataIn, int dataInLen)
virtual int writeAux (const void *dataOut, int dataOutLen)
void connectSSL ()
virtual bool waitForInput (const Timeout &timeout)
 SSLSocketImpl (const SSLSocketImpl &arg)
SSLSocketImploperator= (const SSLSocketImpl &arg)

Private Attributes

SSL * m_ssl
BIO * m_sbio
SSLClientCtxRef m_sslCtx
OWSSLContext m_owctx

Additional Inherited Members

- Static Public Member Functions inherited from BLOCXX_NAMESPACE::SocketBaseImpl
static void setDumpFiles (const String &in, const String &out)
- Protected Attributes inherited from BLOCXX_NAMESPACE::SocketBaseImpl
bool m_isConnected
SocketHandle_t m_sockfd
SocketAddress m_localAddress
SocketAddress m_peerAddress

Detailed Description

Definition at line 56 of file SSLSocketImpl.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SSLClientCtxRef  sslCtx)
BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( )
BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SocketHandle_t  fd,
SocketAddress::AddressType  addrType,
const SSLServerCtxRef sslCtx 
)

This constructor is to be used only for server sockets.

Parameters:
fdA socket handle, presumably created by a ServerSocket's accept().
BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( SocketHandle_t  fd,
SocketAddress::AddressType  addrType 
)

This constructor is to be used only for server sockets.

Parameters:
fdA socket handle, presumably created by a ServerSocket's
addrTypeThe addressType accept().
BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( const SocketAddress addr)
Exceptions:
SocketException
virtual BLOCXX_NAMESPACE::SSLSocketImpl::~SSLSocketImpl ( )
virtual
BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl ( const SSLSocketImpl arg)
private

Member Function Documentation

virtual void BLOCXX_NAMESPACE::SSLSocketImpl::connect ( const SocketAddress addr)
virtual
Exceptions:
SocketException

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

void BLOCXX_NAMESPACE::SSLSocketImpl::connectSSL ( )
private
virtual void BLOCXX_NAMESPACE::SSLSocketImpl::disconnect ( )
virtual

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

Select_t BLOCXX_NAMESPACE::SSLSocketImpl::getSelectObj ( ) const
virtual

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

SSL* BLOCXX_NAMESPACE::SSLSocketImpl::getSSL ( ) const

return the SSL structure associated with the socket

Returns:
the SSL ptr.
SSLSocketImpl& BLOCXX_NAMESPACE::SSLSocketImpl::operator= ( const SSLSocketImpl arg)
private
bool BLOCXX_NAMESPACE::SSLSocketImpl::peerCertVerified ( ) const

Did the peer certificate pass verification?

Returns:
true if peer cert passed verification
virtual int BLOCXX_NAMESPACE::SSLSocketImpl::readAux ( void *  dataIn,
int  dataInLen 
)
privatevirtual
virtual bool BLOCXX_NAMESPACE::SSLSocketImpl::waitForInput ( const Timeout timeout)
privatevirtual

Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.

virtual int BLOCXX_NAMESPACE::SSLSocketImpl::writeAux ( const void *  dataOut,
int  dataOutLen 
)
privatevirtual

Member Data Documentation

OWSSLContext BLOCXX_NAMESPACE::SSLSocketImpl::m_owctx
private

Definition at line 125 of file SSLSocketImpl.hpp.

BIO* BLOCXX_NAMESPACE::SSLSocketImpl::m_sbio
private

Definition at line 112 of file SSLSocketImpl.hpp.

SSL* BLOCXX_NAMESPACE::SSLSocketImpl::m_ssl
private

Definition at line 111 of file SSLSocketImpl.hpp.

SSLClientCtxRef BLOCXX_NAMESPACE::SSLSocketImpl::m_sslCtx
private

Definition at line 119 of file SSLSocketImpl.hpp.


The documentation for this class was generated from the following file: