Changeset 691


Ignore:
Timestamp:
01/21/09 00:11:13 (11 years ago)
Author:
Eoin
Message:

Force recheck event added.

Location:
trunk/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/halSession.hpp

    r690 r691  
    10741074                        event_log.post(shared_ptr<EventDetail>(new EventInfo(hal::wform(L"%1% still active") % (num_active)))); 
    10751075 
    1076                         if (fn) (*fn)(num_active/2); 
     1076                        if (fn) (*fn)(num_active); 
    10771077                        boost::this_thread::sleep(pt::milliseconds(500)); 
    10781078                }  
  • trunk/src/halTorrentIntEvents.hpp

    r690 r691  
    5151struct ev_resumed_alert : sc::event<ev_paused_alert> {}; 
    5252 
     53struct ev_force_recheck : sc::event< ev_force_recheck > {}; 
     54 
    5355struct ev_write_resume_data : sc::event< ev_write_resume_data > {}; 
    5456struct ev_resume_data_alert : sc::event< ev_resume_data_alert > {}; 
  • trunk/src/halTorrentIntStates.cpp

    r690 r691  
    102102} 
    103103 
     104sc::result active::react(const ev_force_recheck& evt) 
     105{ 
     106        TORRENT_STATE_LOG(L"React active::react(const ev_force_recheck& evt)"); 
     107 
     108        context<torrent_internal>().handle_.force_recheck(); 
     109 
     110        return discard_event(); 
     111} 
     112 
    104113pausing::pausing(base_type::my_context ctx) : 
    105114        base_type::my_base(ctx) 
     
    147156} 
    148157 
     158sc::result paused::react(const ev_force_recheck& evt) 
     159{ 
     160        TORRENT_STATE_LOG(L"React paused::react(const ev_force_recheck& evt)"); 
     161 
     162        context<torrent_internal>().handle_.force_recheck(); 
     163 
     164        return discard_event(); 
     165} 
     166 
    149167stopping::stopping(base_type::my_context ctx) : 
    150168        base_type::my_base(ctx) 
     
    186204sc::result stopped::react(const ev_resume& evt) 
    187205{ 
    188 //      torrent_internal& t_i = context<torrent_internal>(); 
    189 //      assert(t_i.in_session()); 
    190  
    191206        post_event(ev_add_to_session(false)); 
    192  
    193 //      context<torrent_internal>().add_to_session(false); 
    194207 
    195208        return discard_event(); 
  • trunk/src/halTorrentIntStates.hpp

    r690 r691  
    8282                sc::transition< ev_stop, stopping >, 
    8383                sc::transition< ev_pause, pausing >, 
     84                sc::custom_reaction< ev_force_recheck >, 
    8485                sc::transition< ev_paused_alert, paused > 
    8586        > reactions; 
     
    9091        sc::result react(const ev_pause& evt); 
    9192        sc::result react(const ev_stop& evt); 
     93        sc::result react(const ev_force_recheck& evt); 
    9294}; 
    9395 
     
    109111                sc::custom_reaction< ev_stop >, 
    110112                sc::custom_reaction< ev_resume >, 
     113                sc::custom_reaction< ev_force_recheck >, 
    111114                sc::transition< ev_resumed_alert, active > 
    112115        > reactions; 
     
    117120        sc::result react(const ev_stop& evt); 
    118121        sc::result react(const ev_resume& evt); 
     122        sc::result react(const ev_force_recheck& evt); 
    119123}; 
    120124 
  • trunk/src/halTorrentInternal.hpp

    r690 r691  
    630630        } 
    631631 
    632 /*      void remove_torrent() 
    633         { 
    634                 the_session_->remove_torrent(handle_); 
    635                 in_session_ = false; 
    636  
    637                 assert(!in_session());   
    638         } 
    639 */       
    640632        bool in_session() const 
    641633        {  
     
    676668        void force_recheck() 
    677669        { 
    678                 mutex_t::scoped_lock l(mutex_);          
    679                 HAL_DEV_MSG(L"force_recheck()"); 
    680  
    681                 switch (state()) 
    682                 { 
    683                 case torrent_details::torrent_stopped: 
    684                         clear_resume_data(); 
    685                         resume(); 
    686                         break; 
    687  
    688                 case torrent_details::torrent_stopping: 
    689                 case torrent_details::torrent_pausing: 
    690 //                      signals().torrent_paused.disconnect_all_once(); 
    691  
    692                 case torrent_details::torrent_active: 
    693 //                      signals().torrent_paused.disconnect_all_once(); 
    694 //                      signals().torrent_paused.connect_once(bind(&torrent_internal::handle_recheck, this)); 
    695                         handle_.pause(); 
    696                         state(torrent_details::torrent_pausing); 
    697                         break; 
    698  
    699                 default: 
    700                         assert(false); 
    701                 }; 
     670                mutex_t::scoped_lock l(mutex_); 
     671                HAL_DEV_MSG(hal::wform(L"force_recheck() - %1%") % name_); 
     672                 
     673                process_event(ev_force_recheck());       
    702674        } 
    703675         
     
    12771249        } 
    12781250         
    1279         bool completed_pause() 
     1251/*      bool completed_pause() 
    12801252        { 
    12811253                mutex_t::scoped_lock l(mutex_); 
     
    13071279                return true; 
    13081280        } 
    1309  
     1281*/ 
    13101282        void handle_recheck() 
    13111283        { 
     
    13511323                 
    13521324        mutable mutex_t mutex_; 
    1353  
    1354 //      torrent_state_machine machine_; 
    13551325         
    13561326        std::pair<float, float> transfer_limit_; 
Note: See TracChangeset for help on using the changeset viewer.