![]() |
Contur 2
Educational OS kernel simulator
|
Trace sink that stores events in memory. More...
#include <buffer_sink.h>
Public Member Functions | |
| BufferSink () | |
| Constructs an empty buffer sink. | |
| ~BufferSink () override | |
| Destroys buffer sink. | |
| BufferSink (const BufferSink &)=delete | |
| Copy construction is disabled. | |
| BufferSink & | operator= (const BufferSink &)=delete |
| Copy assignment is disabled. | |
| BufferSink (BufferSink &&) noexcept | |
| Move-constructs sink state. | |
| BufferSink & | operator= (BufferSink &&) noexcept |
| Move-assigns sink state. | |
| void | write (const TraceEvent &event) override |
| Writes one trace event to the sink. | |
| std::vector< TraceEvent > | snapshot () const |
| Returns a copy of all captured trace events. | |
| void | clear () |
| Removes all buffered trace events. | |
| std::size_t | size () const |
| Returns number of currently buffered events. | |
| Public Member Functions inherited from contur::ITraceSink | |
| virtual | ~ITraceSink ()=default |
| Virtual destructor for polymorphic cleanup. | |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
Trace sink that stores events in memory.
Definition at line 15 of file buffer_sink.h.
| contur::BufferSink::BufferSink | ( | ) |
Constructs an empty buffer sink.
Referenced by BufferSink(), BufferSink(), operator=(), and operator=().
|
override |
Destroys buffer sink.
|
delete |
Copy construction is disabled.
References BufferSink().
|
noexcept |
Move-constructs sink state.
References BufferSink().
| void contur::BufferSink::clear | ( | ) |
|
noexcept |
Move-assigns sink state.
References BufferSink().
|
delete |
Copy assignment is disabled.
References BufferSink().
|
nodiscard |
|
nodiscard |
Returns a copy of all captured trace events.
References snapshot().
Referenced by formatKernelLogs(), renderKernelTraceDump(), and snapshot().
|
overridevirtual |
Writes one trace event to the sink.
| event | Trace event record. |
Implements contur::ITraceSink.
References write().
Referenced by write().
|
private |
Definition at line 49 of file buffer_sink.h.