ACE_SSL_SOCK Class Reference

An abstract class that forms the basis for more specific classes, such as "ACE_SSL_SOCK_Acceptor" and "ACE_SSL_SOCK_Stream". Do not instantiate this class. More...

#include <SSL_SOCK.h>

Inheritance diagram for ACE_SSL_SOCK:

Inheritance graph
[legend]
Collaboration diagram for ACE_SSL_SOCK:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int set_option (int level, int option, void *optval, int optlen) const
int get_option (int level, int option, void *optval, int *optlen) const
int enable (int value) const
int disable (int value) const
void set_handle (ACE_HANDLE)
ACE_HANDLE get_handle (void) const
int control (int cmd, void *arg) const

Protected Member Functions

 ACE_SSL_SOCK (void)
 ~ACE_SSL_SOCK (void)
 Destructor.


Detailed Description

An abstract class that forms the basis for more specific classes, such as "ACE_SSL_SOCK_Acceptor" and "ACE_SSL_SOCK_Stream". Do not instantiate this class.

This class provides functions that are common to all of the ACE_SSL_SOCK_* classes. ACE_SSL_SOCK provides the ability to get and set socket options, get the local and remote addresses, and close the socket.

Definition at line 51 of file SSL_SOCK.h.


Constructor & Destructor Documentation

ACE_SSL_SOCK::ACE_SSL_SOCK void   )  [protected]
 

Default constructor is private to prevent instances of this class from being defined.

ACE_SSL_SOCK::~ACE_SSL_SOCK void   )  [protected]
 

Destructor.

Not a virtual destructor. Protected destructor to prevent operator delete() from being called through a base class ACE_SSL_SOCK pointer/reference.

Definition at line 24 of file SSL_SOCK.cpp.

References ACE_TRACE.

00025 {
00026   ACE_TRACE ("ACE_SSL_SOCK::~ACE_SSL_SOCK");
00027 }


Member Function Documentation

ACE_INLINE int ACE_SSL_SOCK::control int  cmd,
void *  arg
const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_IPC_SAP.

Definition at line 24 of file SSL_SOCK.i.

References ACE_OS::ioctl().

00025 {
00026   return ACE_OS::ioctl (this->get_handle (), cmd, arg);
00027 }

int ACE_SSL_SOCK::disable int  value  )  const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_IPC_SAP.

Definition at line 52 of file SSL_SOCK.cpp.

References ACE_CLOEXEC, ACE_NONBLOCK, ACE_NOTSUP_RETURN, ACE_SIGIO, ACE_SIGURG, ACE_TRACE, ACE_IPC_SAP::disable(), and SIGIO.

Referenced by ACE_SSL_SOCK_Connector::ssl_connect().

00053 {
00054   ACE_TRACE("ACE_SSL_SOCK::disable");
00055   switch (value)
00056     {
00057 #ifdef SIGURG
00058     case SIGURG:
00059     case ACE_SIGURG:
00060 #endif  /* SIGURG */
00061     case SIGIO:
00062     case ACE_SIGIO:
00063     case ACE_CLOEXEC:
00064       ACE_NOTSUP_RETURN (-1);
00065     case ACE_NONBLOCK:
00066       return ACE_IPC_SAP::disable (value);
00067     default:
00068       return -1;
00069     }
00070 }

int ACE_SSL_SOCK::enable int  value  )  const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_IPC_SAP.

Definition at line 30 of file SSL_SOCK.cpp.

References ACE_CLOEXEC, ACE_NONBLOCK, ACE_NOTSUP_RETURN, ACE_SIGIO, ACE_SIGURG, ACE_TRACE, ACE_IPC_SAP::enable(), and SIGIO.

00031 {
00032   ACE_TRACE ("ACE_SSL_SOCK::enable");
00033 
00034   switch (value)
00035     {
00036 #ifdef SIGURG
00037     case SIGURG:
00038     case ACE_SIGURG:
00039 #endif  /* SIGURG */
00040     case SIGIO:
00041     case ACE_SIGIO:
00042     case ACE_CLOEXEC:
00043       ACE_NOTSUP_RETURN (-1);
00044     case ACE_NONBLOCK:
00045       return ACE_IPC_SAP::enable (value);
00046     default:
00047       return -1;
00048     }
00049 }

ACE_INLINE ACE_HANDLE ACE_SSL_SOCK::get_handle void   )  const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_IPC_SAP.

Definition at line 16 of file SSL_SOCK.i.

References ACE_IPC_SAP::get_handle().

Referenced by ACE_SSL_SOCK_Stream::close(), ACE_SSL_SOCK_Connector::connect(), ACE_SSL_SOCK_Stream::get_remote_addr(), ACE_SSL_SOCK_Stream::recv_i(), ACE_SSL_SOCK_Acceptor::ssl_accept(), and ACE_SSL_SOCK_Connector::ssl_connect().

00017 {
00018   // return this->ssl_ ? (ACE_HANDLE) ::SSL_get_fd (this->ssl_) : ACE_INVALID_HANDLE;
00019   return this->ACE_SOCK::get_handle ();
00020 }

ACE_INLINE int ACE_SSL_SOCK::get_option int  level,
int  option,
void *  optval,
int *  optlen
const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_SOCK.

Definition at line 52 of file SSL_SOCK.i.

References ACE_OS::getsockopt().

00056 {
00057 //  switch (option)
00058 //    {
00059 //     case SO_SNDBUF:
00060 //       return ::BIO_get_write_buffer_size (this->io_bio_, *((int *) optval));
00061 //     case SO_RCVCBUF:
00062 //       return ::BIO_get_read_buffer_size (this->io_bio_, *((int *) optval));
00063 //    default:
00064       return ACE_OS::getsockopt (this->get_handle (),
00065                                  level,
00066                                  option, (char *) optval,
00067                                  optlen);
00068 //    }
00069 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void ACE_SSL_SOCK::set_handle ACE_HANDLE   ) 
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_IPC_SAP.

Reimplemented in ACE_SSL_SOCK_Stream.

Definition at line 10 of file SSL_SOCK.i.

References ACE_IPC_SAP::set_handle().

Referenced by ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor(), ACE_SSL_SOCK_Acceptor::close(), ACE_SSL_SOCK_Acceptor::open(), and ACE_SSL_SOCK_Stream::set_handle().

00011 {
00012   this->ACE_SOCK::set_handle (fd);
00013 }

ACE_INLINE int ACE_SSL_SOCK::set_option int  level,
int  option,
void *  optval,
int  optlen
const
 

Override ACE_SOCK base class implementations with these SSL specific ones.

Reimplemented from ACE_SOCK.

Definition at line 30 of file SSL_SOCK.i.

References ACE_OS::setsockopt().

00034 {
00035 //   switch (option)
00036 //     {
00037 //     case SO_SNDBUF:
00038 //       return ::BIO_set_write_buffer_size (this->io_bio_, *((int *) optval));
00039 //     case SO_RCVCBUF:
00040 //       return ::BIO_set_read_buffer_size (this->io_bio_, *((int *) optval));
00041 //     default:
00042       return ACE_OS::setsockopt (this->get_handle (),
00043                                  level,
00044                                  option, (char *) optval,
00045                                  optlen);
00046 //    }
00047 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:42:19 2006 for ACE_SSL by doxygen 1.3.6