MayaFlux
0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Sink.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
JournalEntry.hpp
"
4
#include "
RealtimeEntry.hpp
"
5
6
namespace
MayaFlux::Journal
{
7
8
/**
9
* @class LogSink
10
* @brief Abstract interface for log output destinations
11
*
12
* Allows pluggable log outputs (console, file, network, etc.)
13
*/
14
class
MAYAFLUX_API
Sink
{
15
public
:
16
virtual
~Sink
() =
default
;
17
18
/**
19
* @brief Write a journal entry to this sink
20
*/
21
virtual
void
write
(
const
JournalEntry
& entry) = 0;
22
23
/**
24
* @brief Write a realtime entry to this sink
25
*/
26
virtual
void
write
(
const
RealtimeEntry
& entry) = 0;
27
28
/**
29
* @brief Flush any buffered writes
30
*/
31
virtual
void
flush
() = 0;
32
33
/**
34
* @brief Check if sink is available/healthy
35
*/
36
[[nodiscard]]
virtual
bool
is_available
()
const
= 0;
37
};
38
39
}
// namespace MayaFlux::Journal
JournalEntry.hpp
RealtimeEntry.hpp
MayaFlux::Journal::Sink::write
virtual void write(const JournalEntry &entry)=0
Write a journal entry to this sink.
MayaFlux::Journal::Sink::~Sink
virtual ~Sink()=default
MayaFlux::Journal::Sink::is_available
virtual bool is_available() const =0
Check if sink is available/healthy.
MayaFlux::Journal::Sink::flush
virtual void flush()=0
Flush any buffered writes.
MayaFlux::Journal::Sink::write
virtual void write(const RealtimeEntry &entry)=0
Write a realtime entry to this sink.
MayaFlux::Journal::Sink
Definition
Sink.hpp:14
MayaFlux::Journal
Definition
Ansi.hpp:13
MayaFlux::Journal::JournalEntry
A log entry structure to encapsulate log message details.
Definition
JournalEntry.hpp:149
MayaFlux::Journal::RealtimeEntry
Lightweight entry for lock-free ring buffer.
Definition
RealtimeEntry.hpp:13
src
MayaFlux
Journal
Sink.hpp
Generated by
1.9.8