All pastes #912966 Raw Edit

Untitled

public text v1 · immutable
·published 2008-02-21 19:17 UTC
rendered paste body
long FGNewCache::get_oldest_tile() {
    // we need to free the furthest entry
    long min_index = -1;
    double timestamp = 0.0;
    double min_time = 2419200000.0f; // one month should be enough
    double max_time = 0;

    tile_map_iterator current = tile_cache.begin();
    tile_map_iterator end = tile_cache.end();
    
    for ( ; current != end; ++current ) {
        long index = current->first;
        FGTileEntry *e = current->second;
        if ( e->is_loaded() && (e->get_pending_models() == 0) ) {
            
            timestamp = e->get_timestamp();
            if ( timestamp < min_time ) {
                min_index = index;
                min_time = timestamp;
            }
            if ( timestamp > max_time ) {
                max_time = timestamp;
            }

        } else {
            SG_LOG( SG_TERRAIN, SG_DEBUG, "loaded = " << e->is_loaded()
                    << " pending models = " << e->get_pending_models()
                    << " time stamp = " << e->get_timestamp() );
        }
    }

    SG_LOG( SG_TERRAIN, SG_DEBUG, "    min_time = " << min_time );
    SG_LOG( SG_TERRAIN, SG_DEBUG, "    index = " << min_index );
    SG_LOG( SG_TERRAIN, SG_DEBUG, "    max_time = " << max_time );

    return min_index;
}