MySQL 9.1.0
Source Code Documentation
BasicProcessor Class Referenceabstract

base class of all the processors. More...

#include <processor.h>

Inheritance diagram for BasicProcessor:
[legend]

Public Types

enum class  Result {
  Again , RecvFromClient , SendToClient , RecvFromServer ,
  RecvFromBoth , SendToServer , SendableToServer , Suspend ,
  Done , Void
}
 

Public Member Functions

 BasicProcessor (MysqlRoutingClassicConnectionBase *conn)
 
virtual ~BasicProcessor ()=default
 
const MysqlRoutingClassicConnectionBaseconnection () const
 
MysqlRoutingClassicConnectionBaseconnection ()
 
virtual stdx::expected< Result, std::error_code > process ()=0
 

Private Attributes

MysqlRoutingClassicConnectionBaseconn_
 

Detailed Description

base class of all the processors.

Processor

  • have their own internal state
  • expose a process() function which will be called until it returns Result::Done

Processors are stacked.

The methods:

  • push_processor()
  • pop_processor()

allow to add and remove elements for the stack.

The top-most processor's process() function is called.

Member Enumeration Documentation

◆ Result

enum class BasicProcessor::Result
strong
Enumerator
Again 
RecvFromClient 
SendToClient 
RecvFromServer 
RecvFromBoth 
SendToServer 
SendableToServer 
Suspend 
Done 
Void 

Constructor & Destructor Documentation

◆ BasicProcessor()

BasicProcessor::BasicProcessor ( MysqlRoutingClassicConnectionBase conn)
inline

◆ ~BasicProcessor()

virtual BasicProcessor::~BasicProcessor ( )
virtualdefault

Member Function Documentation

◆ connection() [1/2]

MysqlRoutingClassicConnectionBase * BasicProcessor::connection ( )
inline

◆ connection() [2/2]

const MysqlRoutingClassicConnectionBase * BasicProcessor::connection ( ) const
inline

◆ process()

Member Data Documentation

◆ conn_

MysqlRoutingClassicConnectionBase* BasicProcessor::conn_
private

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