contur2
Loading...
Searching...
No Matches
contur::FifoReplacement Class Referencefinal

First-In First-Out page replacement. More...

#include <fifo_replacement.h>

Inheritance diagram for contur::FifoReplacement:
Collaboration diagram for contur::FifoReplacement:

Public Member Functions

 FifoReplacement ()
 ~FifoReplacement () override
 FifoReplacement (const FifoReplacement &)=delete
FifoReplacementoperator= (const FifoReplacement &)=delete
 FifoReplacement (FifoReplacement &&) noexcept
FifoReplacementoperator= (FifoReplacement &&) noexcept
std::string_view name () const noexcept override
 Returns the name of the algorithm (e.g., "FIFO", "LRU").
FrameId selectVictim (const PageTable &pageTable) override
 Selects a victim frame to evict.
void onAccess (FrameId frame) override
 Notifies the policy that a frame was accessed (read or write).
void onLoad (FrameId frame) override
 Notifies the policy that a new page was loaded into a frame.
void reset () override
 Resets the policy's internal state.
Public Member Functions inherited from contur::IPageReplacementPolicy
virtual ~IPageReplacementPolicy ()=default

Private Attributes

std::unique_ptr< Impl > impl_

Detailed Description

First-In First-Out page replacement.

Maintains a queue of loaded frames in order of arrival. On eviction, selects the frame that was loaded earliest.

Definition at line 16 of file fifo_replacement.h.

Constructor & Destructor Documentation

◆ FifoReplacement() [1/3]

contur::FifoReplacement::FifoReplacement ( )

◆ ~FifoReplacement()

contur::FifoReplacement::~FifoReplacement ( )
override

◆ FifoReplacement() [2/3]

contur::FifoReplacement::FifoReplacement ( const FifoReplacement & )
delete

◆ FifoReplacement() [3/3]

contur::FifoReplacement::FifoReplacement ( FifoReplacement && )
noexcept

Member Function Documentation

◆ name()

std::string_view contur::FifoReplacement::name ( ) const
nodiscardoverridevirtualnoexcept

Returns the name of the algorithm (e.g., "FIFO", "LRU").

Implements contur::IPageReplacementPolicy.

◆ onAccess()

void contur::FifoReplacement::onAccess ( FrameId frame)
overridevirtual

Notifies the policy that a frame was accessed (read or write).

Implements contur::IPageReplacementPolicy.

◆ onLoad()

void contur::FifoReplacement::onLoad ( FrameId frame)
overridevirtual

Notifies the policy that a new page was loaded into a frame.

Implements contur::IPageReplacementPolicy.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ reset()

void contur::FifoReplacement::reset ( )
overridevirtual

Resets the policy's internal state.

Implements contur::IPageReplacementPolicy.

◆ selectVictim()

FrameId contur::FifoReplacement::selectVictim ( const PageTable & pageTable)
nodiscardoverridevirtual

Selects a victim frame to evict.

Parameters
pageTableThe current page table state.
Returns
The FrameId of the frame to evict.

Implements contur::IPageReplacementPolicy.

Member Data Documentation

◆ impl_

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

Definition at line 35 of file fifo_replacement.h.


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