fastcgi++
A C++ FastCGI/Web API
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Fastcgipp::Request_base Class Referenceabstract

De-templating base class for Request. More...

#include <fastcgi++/request.hpp>

Inheritance diagram for Fastcgipp::Request_base:
Fastcgipp::Request< charT >

Public Member Functions

virtual std::unique_lock< std::mutex > handler ()=0
 Request Handler. More...
 
virtual ~Request_base ()
 
void push (Message &&message)
 Send a message to the request. More...
 

Public Attributes

std::mutex mutex
 Only one thread is allowed to handle the request at a time. More...
 

Protected Attributes

std::queue< Messagem_messages
 A queue of message for the request. More...
 
std::mutex m_messagesMutex
 Thread safe our message queue. More...
 

Detailed Description

De-templating base class for Request.

Definition at line 45 of file request.hpp.

Constructor & Destructor Documentation

◆ ~Request_base()

virtual Fastcgipp::Request_base::~Request_base ( )
inlinevirtual

Definition at line 62 of file request.hpp.

Member Function Documentation

◆ handler()

virtual std::unique_lock<std::mutex> Fastcgipp::Request_base::handler ( )
pure virtual

Request Handler.

This function is called by Manager::handler() to handle messages destined for the request. It deals with FastCGI messages (type=0) while passing all other messages off to response().

Returns
A lock locking the requests message queue. If the request completes this will be unlocked. If the request isn't complete it will be locked. If locked, makes sure to unlock it after unlocking Request::mutex.
See also
callback

Implemented in Fastcgipp::Request< charT >.

◆ push()

void Fastcgipp::Request_base::push ( Message &&  message)
inline

Send a message to the request.

Definition at line 68 of file request.hpp.

References m_messages, and m_messagesMutex.

Member Data Documentation

◆ m_messages

std::queue<Message> Fastcgipp::Request_base::m_messages
protected

A queue of message for the request.

Definition at line 76 of file request.hpp.

Referenced by push().

◆ m_messagesMutex

std::mutex Fastcgipp::Request_base::m_messagesMutex
protected

Thread safe our message queue.

Definition at line 79 of file request.hpp.

Referenced by push().

◆ mutex

std::mutex Fastcgipp::Request_base::mutex

Only one thread is allowed to handle the request at a time.

Definition at line 65 of file request.hpp.


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