SObjectizer  5.8
Loading...
Searching...
No Matches
msg_tracing_helpers.cpp
Go to the documentation of this file.
1/*
2 * SObjectizer-5
3 */
4
5/*!
6 * \file
7 * \brief Implementation of some helpers for message tracing.
8 *
9 * \since v.5.5.22
10 */
11
12#include <so_5/impl/msg_tracing_helpers.hpp>
13
14namespace so_5 {
15
16namespace impl {
17
18namespace msg_tracing_helpers {
19
20namespace details {
21
22//
23// actual_trace_data_t
24//
25
27actual_trace_data_t::tid() const noexcept
28 {
29 return m_tid;
30 }
31
32optional<const agent_t *>
33actual_trace_data_t::agent() const noexcept
34 {
35 return m_agent;
36 }
37
40 {
41 return m_message_sink;
42 }
43
46 {
47 return m_msg_type;
48 }
49
52 {
53 return m_msg_source;
54 }
55
58 {
59 return m_message_or_signal;
60 }
61
64 {
65 return m_message_instance_info;
66 }
67
70 {
71 return m_compound_action;
72 }
73
76 {
77 return m_event_handler_data_ptr;
78 }
79
80void
81actual_trace_data_t::set_tid( current_thread_id_t tid ) noexcept
82 {
83 m_tid = tid;
84 }
85
86void
87actual_trace_data_t::set_agent( const agent_t * agent ) noexcept
88 {
89 m_agent = agent;
90 }
91
92void
94 {
95 m_message_sink = sink;
96 }
97
98void
100 const std::type_index & msg_type ) noexcept
101 {
102 m_msg_type = msg_type;
103 }
104
105void
107 so_5::msg_tracing::msg_source_t info ) noexcept
108 {
109 m_msg_source = info;
110 }
111
112void
115 {
116 m_message_or_signal = flag;
117 }
118
119void
122 {
123 m_message_instance_info = info;
124 }
125
126void
129 {
130 m_compound_action = desc;
131 }
132
133void
135 const so_5::impl::event_handler_data_t * ptr ) noexcept
136 {
137 m_event_handler_data_ptr = ptr;
138 }
139
140} /* namespace details */
141
142} /* namespace msg_tracing_helpers */
143
144} /* namespace impl */
145
146} /* namespace so_5 */
Interface for message sink.
A base class for agents.
Definition agent.hpp:673
An actual implementation of trace data interface.
void set_event_handler_data_ptr(const so_5::impl::event_handler_data_t *ptr) noexcept
void set_msg_type(const std::type_index &msg_type) noexcept
virtual optional< std::type_index > msg_type() const noexcept override
Get the information about message type.
void set_msg_source(so_5::msg_tracing::msg_source_t info) noexcept
virtual optional< const so_5::impl::event_handler_data_t * > event_handler_data_ptr() const noexcept override
Get pointer to event handler.
void set_compound_action(so_5::msg_tracing::compound_action_description_t desc) noexcept
void set_message_instance_info(so_5::msg_tracing::message_instance_info_t info) noexcept
virtual optional< so_5::msg_tracing::compound_action_description_t > compound_action() const noexcept override
Get the description of a compound action.
virtual optional< so_5::msg_tracing::message_instance_info_t > message_instance_info() const noexcept override
Get message instance information.
virtual optional< so_5::msg_tracing::msg_source_t > msg_source() const noexcept override
Get the information about message source.
void set_message_or_signal(so_5::msg_tracing::message_or_signal_flag_t flag) noexcept
virtual optional< const agent_t * > agent() const noexcept override
Get a pointer to agent from trace message.
virtual optional< const abstract_message_sink_t * > message_sink() const noexcept override
Get a pointer to message_sink from trace message.
virtual optional< so_5::msg_tracing::message_or_signal_flag_t > message_or_signal() const noexcept override
Get message or signal information.
void set_message_sink(const abstract_message_sink_t *message_sink) noexcept
virtual optional< current_thread_id_t > tid() const noexcept override
Get the Thread ID from trace message.
Low-level details of message delivery tracing implementation.
Various helpers for message delivery tracing mechanism.
Details of SObjectizer run-time implementations.
Definition agent.cpp:905
Public part of message delivery tracing mechanism.
message_or_signal_flag_t
A flag for message/signal dichotomy.
Private part of message limit implementation.
Definition agent.cpp:33
Information about event_handler and its properties.
An information about compound description of message-related action.
An information about a message instance.
An information about message source.