SObjectizer  5.5
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
so_5::msg_service_request_base_t Class Referenceabstract

A base class for concrete messages with information about service requests. More...

#include <message.hpp>

Inheritance diagram for so_5::msg_service_request_base_t:
so_5::message_t so_5::atomic_refcounted_t so_5::msg_service_request_t< Result, Param >

Public Member Functions

virtual void set_exception (std::exception_ptr ex)=0
 Setup exception information to underlying promise/future objects. More...
 
virtual message_tquery_param () const SO_5_NOEXCEPT=0
 Access to param of service_request. More...
 
- Public Member Functions inherited from so_5::message_t
 message_t ()
 
 message_t (const message_t &other)
 
 message_t (message_t &&other)
 
message_toperator= (const message_t &other)
 
message_toperator= (message_t &&other)
 
virtual ~message_t () SO_5_NOEXCEPT=default
 
- Public Member Functions inherited from so_5::atomic_refcounted_t
 atomic_refcounted_t (const atomic_refcounted_t &)=delete
 
atomic_refcounted_toperator= (const atomic_refcounted_t &)=delete
 
 atomic_refcounted_t () SO_5_NOEXCEPT
 Default constructor. More...
 
 ~atomic_refcounted_t () SO_5_NOEXCEPT=default
 Destructor. More...
 
void inc_ref_count () SO_5_NOEXCEPT
 Increments reference count. More...
 
unsigned long dec_ref_count () SO_5_NOEXCEPT
 Decrement reference count. More...
 

Static Public Member Functions

template<class Lambda >
static void dispatch_wrapper (const message_ref_t &what, Lambda handler)
 Helper wrapper for handling exceptions during service request dispatching. More...
 

Private Member Functions

virtual message_mutability_t so5_message_mutability () const override=0
 Get message mutability flag. More...
 
virtual void so5_change_mutability (message_mutability_t) override=0
 Change message mutabilty flag. More...
 
kind_t so5_message_kind () const SO_5_NOEXCEPT override
 Detect the kind of the message. More...
 

Additional Inherited Members

- Public Types inherited from so_5::message_t
using kind_t = ::so_5::message_kind_t
 A short typedef for kind of message. More...
 

Detailed Description

A base class for concrete messages with information about service requests.

Since
v.5.3.0

Member Function Documentation

◆ dispatch_wrapper()

template<class Lambda >
static void so_5::msg_service_request_base_t::dispatch_wrapper ( const message_ref_t what,
Lambda  handler 
)
inlinestatic

Helper wrapper for handling exceptions during service request dispatching.

Since
v.5.5.4

◆ query_param()

virtual message_t& so_5::msg_service_request_base_t::query_param ( ) const
pure virtual

Access to param of service_request.

Since
v.5.5.5

Implemented in so_5::msg_service_request_t< Result, Param >.

◆ set_exception()

virtual void so_5::msg_service_request_base_t::set_exception ( std::exception_ptr  ex)
pure virtual

Setup exception information to underlying promise/future objects.

Implemented in so_5::msg_service_request_t< Result, Param >.

◆ so5_change_mutability()

virtual void so_5::msg_service_request_base_t::so5_change_mutability ( message_mutability_t  mutability)
overrideprivatepure virtual

Change message mutabilty flag.

Attention
Changing mutability from message_mutability_t::immutable_message to message_mutability_t::mutable_message is a very bad idea. Please don't do this until you are know what you are doing.
Note
This method is intended to be used by SObjectizer and low-level SObjectizer extension. Because of that it is not guaranteed that this method is part of stable SObjectizer API. It can be changed or even removed in any future versions of SObjectizer.
This is a virual method because its behavious must be changed in msg_service_request_t.
Attention
This function can throw. For example a derived class can prohibit changing of message mutability.
Since
v.5.5.19

Reimplemented from so_5::message_t.

Implemented in so_5::msg_service_request_t< Result, Param >.

◆ so5_message_kind()

kind_t so_5::msg_service_request_base_t::so5_message_kind ( ) const
inlineoverrideprivatevirtual

Detect the kind of the message.

Note
This method is intended to be used by SObjectizer and low-level SObjectizer extension. Because of that it is not guaranteed that this method is part of stable SObjectizer API. It can be changed or even removed in any future versions of SObjectizer.
Since
v.5.5.23

Reimplemented from so_5::message_t.

◆ so5_message_mutability()

virtual message_mutability_t so_5::msg_service_request_base_t::so5_message_mutability ( ) const
overrideprivatepure virtual

Get message mutability flag.

Note
This method is intended to be used by SObjectizer and low-level SObjectizer extension. Because of that it is not guaranteed that this method is part of stable SObjectizer API. It can be changed or even removed in any future versions of SObjectizer.
This is a virual method because its behavious must be changed in msg_service_request_t.
Since
v.5.5.19

Reimplemented from so_5::message_t.

Implemented in so_5::msg_service_request_t< Result, Param >.


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