XIQE/Storage
Z FI WIKI
TODO
- BlockCollection metadata - např. pro parametry kolekcí apod. Mohou obsahovat i magic byte (int) pro ověření, že jde o správný typ kolekce.
- Je nutno vyřešit jakým způsobem bude uložena tato metainformace v kolekci. U File-based implementaci je vždy použita 256B hlavička - možná by se dala její polovna využít pro metainformace (nebo hlavičku ještě zvětšit, ale na kolik 1k?).
-
BlockCollection.reset()
- by měla být novou metodou této třídy. Vyprázdní celou kolekci a kolekce se pak bude chovat tak, jako by byla právě vytvořena. (V současné implementaci není efektivní možnost jak řešit tuto situaci, a zdá se že tato funkce bude užitečná.)
Koncepce rozhraní BlockCollection
add
- vrací identifikátor bloku - pro novou nebo resetovanou kolekci je vždy 1
get
- změny ve vráceném bloku se nesmí projevit v kolekci - k tomu slouží metoda set
reset
- odstraní všechny bloky z kolekce - může být mnohem efektivnější než
while (this.size() !=0 { this.remove(nejake id); }
Chyba
V baliku org.xiqe.storage.io ve tride StorageManagerAbstractTestCase neprosla testovaci metoda testDeleteBlockCollection(). Konkretne byl problem s assertNull(collection) na konci teto testovaci metody. Ve skole na nymfe to bez problemu jde, u sebe mam win xp na ntfs a test neprosel.