src/sim/eventq.hh
/**
         * Temporarily migrate execution to a different event queue.
         *
         * An instance of this class temporarily migrates execution to
         * different event queue by releasing the current queue, locking
         * the new queue, and updating curEventQueue(). This can, for
         * example, be useful when performing IO across thread event
         * queues when timing is not crucial (e.g., during fast
         * forwarding).
         *
         * ScopedMigration does nothing if both eqs are the same
         *
         * @ingroup api_eventq
         */
Temporarily migrate execution to a different event queue.
An instance of this class temporarily migrates execution to
different event queue by releasing the current queue, locking
the new queue, and updating curEventQueue(). This can, for
example, be useful when performing IO across thread event
queues when timing is not crucial .

ScopedMigration does nothing if both eqs are the same


Temporarily migrate execution to a different event queue . An instance of this class temporarily migrates execution to different event queue by releasing the current queue locking the new queue and updating curEventQueue () . This can for example be useful when performing IO across thread event queues when timing is not crucial . ScopedMigration does nothing if both eqs are the same
ScopedMigration(EventQueue *_new_eq, bool _doMigrate = true)
            :new_eq(*_new_eq), old_eq(*curEventQueue()),
             doMigrate((&new_eq != &old_eq)&&_doMigrate)
        {
            if (doMigrate){
                old_eq.unlock();
                new_eq.lock();
                curEventQueue(&new_eq);
            }
        }
ScopedMigration ( EventQueue * _new_eq , bool _doMigrate = true ) : new_eq ( * _new_eq ) , old_eq ( * curEventQueue ( ) ) , doMigrate ( ( & new_eq != & old_eq ) && _doMigrate ) { if ( doMigrate ) { old_eq . unlock ( ) ; new_eq . lock ( ) ; curEventQueue ( & new_eq ) ; } }
Temporarily migrate execution to a different event queue.
Temporarily migrate execution to a different event queue .