Contur 2
Educational OS kernel simulator
Loading...
Searching...
No Matches
contur::BufferSink Class Referencefinal

Trace sink that stores events in memory. More...

#include <buffer_sink.h>

Inheritance diagram for contur::BufferSink:

Public Member Functions

 BufferSink ()
 Constructs an empty buffer sink.
 ~BufferSink () override
 Destroys buffer sink.
 BufferSink (const BufferSink &)=delete
 Copy construction is disabled.
BufferSinkoperator= (const BufferSink &)=delete
 Copy assignment is disabled.
 BufferSink (BufferSink &&) noexcept
 Move-constructs sink state.
BufferSinkoperator= (BufferSink &&) noexcept
 Move-assigns sink state.
void write (const TraceEvent &event) override
 Writes one trace event to the sink.
std::vector< TraceEventsnapshot () 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_

Detailed Description

Trace sink that stores events in memory.

Definition at line 15 of file buffer_sink.h.

Constructor & Destructor Documentation

◆ BufferSink() [1/3]

contur::BufferSink::BufferSink ( )

Constructs an empty buffer sink.

Referenced by BufferSink(), BufferSink(), operator=(), and operator=().

◆ ~BufferSink()

contur::BufferSink::~BufferSink ( )
override

Destroys buffer sink.

◆ BufferSink() [2/3]

contur::BufferSink::BufferSink ( const BufferSink & )
delete

Copy construction is disabled.

References BufferSink().

◆ BufferSink() [3/3]

contur::BufferSink::BufferSink ( BufferSink && )
noexcept

Move-constructs sink state.

References BufferSink().

Member Function Documentation

◆ clear()

void contur::BufferSink::clear ( )

Removes all buffered trace events.

References clear().

Referenced by clear().

◆ operator=() [1/2]

BufferSink & contur::BufferSink::operator= ( BufferSink && )
noexcept

Move-assigns sink state.

References BufferSink().

◆ operator=() [2/2]

BufferSink & contur::BufferSink::operator= ( const BufferSink & )
delete

Copy assignment is disabled.

References BufferSink().

◆ size()

std::size_t contur::BufferSink::size ( ) const
nodiscard

Returns number of currently buffered events.

References size().

Referenced by size().

◆ snapshot()

std::vector< TraceEvent > contur::BufferSink::snapshot ( ) const
nodiscard

Returns a copy of all captured trace events.

References snapshot().

Referenced by formatKernelLogs(), renderKernelTraceDump(), and snapshot().

◆ write()

void contur::BufferSink::write ( const TraceEvent & event)
overridevirtual

Writes one trace event to the sink.

Parameters
eventTrace event record.

Implements contur::ITraceSink.

References write().

Referenced by write().

Member Data Documentation

◆ impl_

std::unique_ptr<Impl> contur::BufferSink::impl_
private

Definition at line 49 of file buffer_sink.h.


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