Drizzled Public API Documentation

drizzled::plugin::ListenTcp Class Referenceabstract

#include <listen_tcp.h>

Inheritance diagram for drizzled::plugin::ListenTcp:
drizzled::plugin::Listen drizzled::plugin::Plugin drizzle_plugin::ListenMySQLProtocol drizzle_plugin::drizzle_protocol::ListenDrizzleProtocol drizzle_plugin::mysql_unix_socket_protocol::Protocol

Public Types

typedef std::pair< const std::string, const std::string > map_key
 
typedef std::map< const map_key, plugin::Plugin * > map
 
typedef std::vector< Plugin * > vector
 

Public Member Functions

 ListenTcp (std::string name_arg)
 
virtual bool getFileDescriptors (std::vector< int > &)
 
virtual const std::string getHost () const
 
virtual in_port_t getPort () const =0
 
std::vector< ListenCounter * > & getListenCounters ()
 
virtual plugin::ClientgetClient (int fd)=0
 
virtual void shutdownPlugin ()
 
virtual void prime ()
 
virtual void startup (drizzled::Session &)
 
void activate ()
 
void deactivate ()
 
bool isActive () const
 
const std::string & getName () const
 
void setModule (module::Module *module)
 
const std::string & getTypeName () const
 
virtual bool removeLast () const
 
const std::string & getModuleName () const
 

Static Public Member Functions

static ListenVector & getListenProtocols ()
 
static plugin::ClientgetClient ()
 
static bool addPlugin (Listen *)
 
static void removePlugin (Listen *)
 
static bool setup (void)
 
static plugin::ClientgetNullClient ()
 
static void shutdown ()
 

Protected Member Functions

int acceptTcp (int fd)
 

Protected Attributes

uint32_t accept_error_count
 
std::vector< ListenCounter * > counters
 

Detailed Description

This class is used by client plugins to provide and manage TCP listening interfaces for new client instances.

Definition at line 33 of file listen_tcp.h.

Member Function Documentation

int drizzled::plugin::ListenTcp::acceptTcp ( int  fd)
protected

Accept new TCP connection. This is provided to be used in getClient for derived class implementations.

Parameters
[in]fdFile descriptor that had activity.
Return values
Newlyaccepted file descriptor.

Definition at line 40 of file listen_tcp.cc.

References accept_error_count.

bool drizzled::plugin::Listen::addPlugin ( plugin::Listen listen_obj)
staticinherited

Add a new Listen object to the list of listeners we manage.

Definition at line 49 of file listen.cc.

virtual plugin::Client* drizzled::plugin::Listen::getClient ( int  fd)
pure virtualinherited

This provides a new Client object that can be used by a Session.

Parameters
[in]fdFile descriptor that had activity.

Implemented in drizzle_plugin::ListenMySQLProtocol, drizzle_plugin::mysql_unix_socket_protocol::Protocol, and drizzle_plugin::drizzle_protocol::ListenDrizzleProtocol.

Client * drizzled::plugin::Listen::getClient ( )
staticinherited

Accept a new connection (Client object) on one of the configured listener interfaces.

Definition at line 107 of file listen.cc.

bool drizzled::plugin::ListenTcp::getFileDescriptors ( std::vector< int > &  fds)
virtual

This will bind the port to the host interfaces. [out] Vector of file descriptors that were bound.

Return values
trueon failure, false on success.

Implements drizzled::plugin::Listen.

Reimplemented in drizzle_plugin::mysql_unix_socket_protocol::Protocol.

Definition at line 59 of file listen_tcp.cc.

const std::string drizzled::plugin::ListenTcp::getHost ( ) const
virtual

Get the host address to bind to.

Return values
Thehost address.

Reimplemented in drizzle_plugin::ListenMySQLProtocol.

Definition at line 200 of file listen_tcp.cc.

Client * drizzled::plugin::Listen::getNullClient ( )
staticinherited

Some internal functions drizzled require a temporary Client object to create a valid session object, this just returns a dummy client object.

Definition at line 151 of file listen.cc.

virtual in_port_t drizzled::plugin::ListenTcp::getPort ( ) const
pure virtual
void drizzled::plugin::Listen::removePlugin ( plugin::Listen listen_obj)
staticinherited

Remove a Listen object from the list of listeners we manage.

Definition at line 55 of file listen.cc.

bool drizzled::plugin::Listen::setup ( void  )
staticinherited

Setup all configured listen plugins.

Definition at line 60 of file listen.cc.

References drizzled::plugin::Listen::getFileDescriptors().

void drizzled::plugin::Listen::shutdown ( )
staticinherited

Shutdown and cleanup listen loop for server shutdown.

Definition at line 156 of file listen.cc.

Member Data Documentation

uint32_t drizzled::plugin::ListenTcp::accept_error_count
protected

Count of errors encountered in acceptTcp.

Definition at line 37 of file listen_tcp.h.

Referenced by acceptTcp().


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