Interface ReplaceableBuffer<E extends Struct<?>,​A extends Address<?>>

    • Method Detail

      • allocEntry

        void allocEntry​(A address)
        Allocates an invalid entry in the buffer and associates it w/ the given address.
        Parameters:
        address - the address.
      • evictEntry

        boolean evictEntry​(ReplaceableBuffer<?,​A> initiator,
                           A address)
        Evicts the entry associated w/ the given address from the buffer.
        Parameters:
        initiator - the buffer that initiates the operation.
        address - the address.
        Returns:
        true iff the entry is not dirty or it has been synchronized w/ the storage.
      • readEntry

        ru.ispras.fortress.util.Pair<E,​java.lang.Boolean> readEntry​(A address,
                                                                          boolean invalidate)
        Reads the entry associated w/ the given address and, if required, invalidates it.
        Parameters:
        address - the address.
        invalidate - the invalidation flag.
        Returns:
        the entry associated w/ the address w/ the dirty bit or null.
      • getNext

        Buffer<?,​A> getNext()
        Returns the next-level buffer.
        Returns:
        the next-level buffer.