class StorageDirect implements Engine {

    final int freePhysRecSize2FreeSlot(final int size){
        if(size>MAX_RECORD_SIZE) throw new IllegalArgumentException("too big record");
        if(size<0) throw new IllegalArgumentException("negative size");

        if(size<1535)
            return size-1;
        else if(size == MAX_RECORD_SIZE)
            return NUMBER_OF_PHYS_FREE_SLOT-1;
        else
            return 1535 -1 + (size-1535)/64;
    }

    public  StorageDirect(Volume.Factory volFac, boolean appendOnly,
                   boolean deleteFilesOnExit, boolean failOnWrongHeader, boolean readOnly);
    public  StorageDirect(Volume.Factory volFac);

}