pl.edu.pjwstk.yaod.store.defaultstore.persistentstore
Class PersistentBlockManager
java.lang.Object
|
+--pl.edu.pjwstk.yaod.store.defaultstore.persistentstore.PersistentBlockManager
- Direct Known Subclasses:
- BlockTesterStore
- public class PersistentBlockManager
- extends java.lang.Object
Klasa reprezentuje menedzer blokow, ktorego zadaniem jest wczytywanie
i zapisywanie blokow w skladzie trwalych obiektow. Menedzerem blokow
posluguje sie menedzer rekordow, ktory tworzony jest dla kazdego
procesu uslugowego.
- Author:
- M. Lentner, raist@ertel.com.pl
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FIRST_FREE_SPACE_BLOCK
public static final short FIRST_FREE_SPACE_BLOCK
FIRST_DATA_BLOCK
public static final short FIRST_DATA_BLOCK
PersistentBlockManager
public PersistentBlockManager(PersistentStore store)
- Tworzy nowy obiekt menedzera blokow.
- Parameters:
store
- dla jakiego skladu pracowac ma ten menedzer.
getBlockSize
public short getBlockSize()
- Zwraca rozmiar bloku, jaki wykorzystuje dany sklad.
- Returns:
- rozmiar bloku.
writeBlock
public void writeBlock(AbstractBlock block)
throws java.io.IOException
- Zapisuje blok na dysku.
- Parameters:
block
- jaki blok zapisac.- Throws:
java.io.IOException
- jesli nie mozna zapisac bloku.
updateFreeSpace
public void updateFreeSpace(DataBlock block)
throws java.lang.Exception
- Aktualizuje informacje o wolnej przestrzeni w podanym bloku.
Informacja ta zapisywana jest w bloku wolnej przestrzeni nalezacym
do pliku w ktorym zapisany jest podany blok.
- Parameters:
block
- blok danych ktorego informacja o wolnej przestrzeni
ma zostac zaktualizowana.- Throws:
java.lang.Exception
- jesli wystapil blad uniemozliwiajacy aktualizacje.
readFreeSpaceBlock
public FreeSpaceBlock readFreeSpaceBlock(AbstractBlockID ptr)
throws java.io.IOException,
BlockFormatException
- Wczytuje blok wolnej przestrzeni o podanym identyfikatorze.
- Parameters:
ptr
- identyfikator bloku wolnej przestrzeni.- Returns:
- wczytany blok wolnej przestrzeni.
- Throws:
java.io.IOException
- nie mozna wczytac bloku z powodu bledu i/o.BlockFormatException
- wczytany blok jest niezgodny z formatem
bloku wolnej przestrzeni (nie mozna zdeserializowac).
findDataBlockByFreeSpace
public DataBlock findDataBlockByFreeSpace(int reqSpace)
throws java.lang.Exception
- Wyszukuje blok danych zawierajacy wymagana ilosc wolnego miejsca.
- Parameters:
reqSpace
- wymagana ilosc wolnego miejsca.- Returns:
- blok danych zawierajacy wymagana ilosc wolnego miejsca.
- Throws:
java.lang.Exception
- jesli nie mozna znalezc takiego bloku z powodu awarii.
readDataBlock
public DataBlock readDataBlock(AbstractBlockID ptr)
throws java.io.IOException,
BlockFormatException
- Wczytuje blok danych o podanym identyfikatorze.
- Parameters:
identyfikator
- bloku do wczytania.- Returns:
- wczytany blok danych.
- Throws:
java.io.IOException
- nie mozna wczytac bloku.BlockFormatException
- zserializowana wersja bloku nie odpowiada
formatowi bloku (nie mozna zdeserializowac).