|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
Collaboration diagram for MayaFlux::Journal::Archivist::Impl:Public Member Functions | |
| void | add_sink (std::unique_ptr< Sink > sink) |
| void | clear_sinks () |
| void | drain_ring_buffer () |
| Drain all pending ring buffer entries to sinks or console. | |
| Impl () | |
| void | init () |
| void | scribe (const JournalEntry &entry) |
| void | scribe_rt (Severity severity, Component component, Context context, std::string_view message, std::source_location location) |
| void | set_component_filter (Component comp, bool enabled) |
| void | set_context_filter (Context ctx, bool enabled) |
| void | set_min_severity (Severity sev) |
| void | shutdown () |
| ~Impl () | |
Static Public Attributes | |
| static constexpr size_t | RING_BUFFER_SIZE = 8192 |
| static constexpr size_t | RT_RING_BUFFER_SIZE = 4096 |
Private Member Functions | |
| bool | should_log (Severity severity, Component component, Context context) const |
| void | start_worker () |
| void | worker_loop () |
| void | write_to_sinks (const RealtimeEntry &entry) |
Static Private Member Functions | |
| static void | write_to_console (const RealtimeEntry &entry) |
Private Attributes | |
| std::atomic< bool > | m_accepting_entries |
| std::array< std::atomic< bool >, magic_enum::enum_count< Component >()> | m_component_filters {} |
| std::array< std::atomic< bool >, magic_enum::enum_count< Context >()> | m_context_filters {} |
| std::atomic< uint64_t > | m_dropped_messages { 0 } |
| std::atomic< bool > | m_initialized |
| std::atomic< Severity > | m_min_severity |
| std::atomic_flag | m_push_lock = ATOMIC_FLAG_INIT |
| Memory::LockFreeQueue< RealtimeEntry, RING_BUFFER_SIZE > | m_ring_buffer |
| Memory::MPSCQueue< RealtimeEntry, RT_RING_BUFFER_SIZE > | m_rt_ring_buffer |
| std::atomic< bool > | m_shutdown_in_progress |
| std::vector< std::unique_ptr< Sink > > | m_sinks |
| std::atomic< bool > | m_worker_running |
| std::thread | m_worker_thread |
Definition at line 15 of file Archivist.cpp.