C++ Actor Framework 0.19
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
caf::net::http::router Class Reference

Sits on top of a server and dispatches incoming requests to user-defined handlers. More...

#include <router.hpp>

Inheritance diagram for caf::net::http::router:
caf::net::http::upper_layer caf::net::generic_upper_layer

Public Member Functions

 router (std::vector< route_ptr > routes)
 
lower_layerdown ()
 Returns a pointer to the underlying HTTP layer.
 
actor_shellself ()
 Returns an actor_shell for this router that enables routes to interact with actors.
 
request lift (responder &&res)
 Lifts a responder to an request object that allows asynchronous processing of the HTTP request.
 
void shutdown (const error &err)
 
error start (lower_layer *down) override
 Initializes the upper layer.
 
ptrdiff_t consume (const request_header &hdr, const_byte_span payload) override
 Consumes an HTTP message.
 
void prepare_send () override
 Gives the upper layer an opportunity to add additional data to the output buffer.
 
bool done_sending () override
 Queries whether all pending data has been sent.
 
void abort (const error &reason) override
 Called by the lower layer for cleaning up any state in case of an error or when disposed.
 
virtual error start (lower_layer *down)=0
 Initializes the upper layer.
 
virtual ptrdiff_t consume (const request_header &hdr, const_byte_span payload)=0
 Consumes an HTTP message.
 
virtual void prepare_send ()=0
 Gives the upper layer an opportunity to add additional data to the output buffer.
 
virtual bool done_sending ()=0
 Queries whether all pending data has been sent.
 
virtual void abort (const error &reason)=0
 Called by the lower layer for cleaning up any state in case of an error or when disposed.
 

Static Public Member Functions

static std::unique_ptr< routermake (std::vector< route_ptr > routes)
 

Detailed Description

Sits on top of a server and dispatches incoming requests to user-defined handlers.

Member Function Documentation

◆ abort()

void caf::net::http::router::abort ( const error reason)
overridevirtual

Called by the lower layer for cleaning up any state in case of an error or when disposed.

Implements caf::net::generic_upper_layer.

◆ consume()

ptrdiff_t caf::net::http::router::consume ( const request_header hdr,
const_byte_span  payload 
)
overridevirtual

Consumes an HTTP message.

Parameters
hdrThe header fields for the received message.
payloadThe payload of the received message.
Returns
The number of consumed bytes or a negative value to signal an error.
Note
Discarded data is lost permanently.

Implements caf::net::http::upper_layer.

◆ done_sending()

bool caf::net::http::router::done_sending ( )
overridevirtual

Queries whether all pending data has been sent.

The lower calls this function to decide whether it has to wait for write events on the socket.

Implements caf::net::generic_upper_layer.

◆ prepare_send()

void caf::net::http::router::prepare_send ( )
overridevirtual

Gives the upper layer an opportunity to add additional data to the output buffer.

Implements caf::net::generic_upper_layer.

◆ start()

error caf::net::http::router::start ( lower_layer down)
overridevirtual

Initializes the upper layer.

Parameters
downA pointer to the lower layer that remains valid for the lifetime of the upper layer.

Implements caf::net::http::upper_layer.


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