Drizzled Public API Documentation

drizzled::plugin::Client Class Referenceabstract

#include <client.h>

Inheritance diagram for drizzled::plugin::Client:
drizzle_plugin::ClientMySQLProtocol drizzled::plugin::client::Concurrent drizzled::plugin::NullClient drizzled::plugin::client::Cached

Public Member Functions

virtual SessiongetSession ()
 
virtual void setSession (Session *session_arg)
 
virtual int getFileDescriptor ()=0
 
virtual bool isConnected ()=0
 
virtual bool flush ()=0
 
virtual void close ()=0
 
virtual bool authenticate ()=0
 
virtual bool isConsole () const
 
virtual bool isInteractive () const
 
virtual
catalog::Instance::shared_ptr 
catalog ()
 
virtual bool readCommand (char **packet, uint32_t &packet_length)=0
 
virtual void sendOK ()=0
 
virtual void sendEOF ()=0
 
virtual void sendError (const drizzled::error_t sql_errno, const char *err)=0
 
virtual void sendFields (List< Item > &)=0
 
virtual void store (Field *from)=0
 
virtual void store ()=0
 
virtual void store (int32_t from)=0
 
virtual void store (uint32_t from)=0
 
virtual void store (int64_t from)=0
 
virtual void store (uint64_t from)=0
 
virtual void store (double from, uint32_t decimals, String *buffer)=0
 
virtual void store (const type::Time *from)
 
virtual void store (const char *from)
 
virtual void store (const char *from, size_t length)=0
 
virtual void store (str_ref from)
 
virtual bool haveError ()=0
 
virtual bool wasAborted ()=0
 

Protected Attributes

Sessionsession
 

Detailed Description

This class allows new client sources to be written. This could be through network protocols, in-process threads, or any other client source that can provide commands and handle result sets. The current implementation is file-descriptor based, so for non-fd client sources (like from another thread), derived classes will need to use a pipe() for event notifications.

Definition at line 38 of file client.h.

Member Function Documentation

virtual bool drizzled::plugin::Client::authenticate ( )
pure virtual

Perform handshake and authorize client if needed.

Implemented in drizzle_plugin::ClientMySQLProtocol, drizzled::plugin::client::Concurrent, and drizzled::plugin::NullClient.

Referenced by drizzled::Session::authenticate().

virtual void drizzled::plugin::Client::close ( )
pure virtual
virtual bool drizzled::plugin::Client::flush ( )
pure virtual

Flush all data that has been buffered with store() methods.

Return values
Booleanindicating success or failure.

Implemented in drizzle_plugin::ClientMySQLProtocol, drizzled::plugin::client::Concurrent, and drizzled::plugin::NullClient.

virtual int drizzled::plugin::Client::getFileDescriptor ( )
pure virtual

Get file descriptor associated with client object.

Return values
Filedescriptor that is attached, -1 if none.

Implemented in drizzle_plugin::ClientMySQLProtocol, drizzled::plugin::client::Concurrent, and drizzled::plugin::NullClient.

virtual Session* drizzled::plugin::Client::getSession ( )
inlinevirtual

Get attached session from the client object.

Return values
Sessionobject that is attached, NULL if none.

Definition at line 50 of file client.h.

virtual bool drizzled::plugin::Client::isConnected ( )
pure virtual

Check to see if the client is currently connected.

Return values
Booleanvalue representing connected state.

Implemented in drizzle_plugin::ClientMySQLProtocol, drizzled::plugin::client::Concurrent, and drizzled::plugin::NullClient.

Referenced by drizzled::Session::disconnect().

virtual bool drizzled::plugin::Client::readCommand ( char **  packet,
uint32_t &  packet_length 
)
pure virtual
virtual void drizzled::plugin::Client::sendFields ( List< Item > &  )
pure virtual
virtual void drizzled::plugin::Client::setSession ( Session session_arg)
inlinevirtual

Attach session to the client object.

Parameters
[in]session_argSession object to attach, or NULL to clear.

Definition at line 59 of file client.h.


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