public void cancel() { event.cancel(); } }
private void cancelTimedSaveEvent() { if (timedSaveEvent != null && (!timedSaveEvent.hasRun() || !timedSaveEvent.isCancelled())) { if (DEBUG) { debug("cancel timeSaveEvent"); } timedSaveEvent.cancel(); } }
public synchronized TimerEvent addEvent( String name, long creation_time, long when, boolean absolute, TimerEventPerformer performer ) { TimerEvent event = new TimerEvent( this, unique_id_next++, creation_time, when, absolute, performer ); if ( name != null ){ event.setName( name ); } events.add( event ); if ( log ){ if ( events.size() > max_events_logged ){ max_events_logged = events.size(); System.out.println( "Timer '" + thread_pool.getName() + "' - events = " + max_events_logged ); } } // System.out.println( "event added (" + when + ") - queue = " + events.size()); if ( current_when == Integer.MAX_VALUE || when < current_when ){ notify(); } return( event ); }
public String getString() { if ( performer instanceof TimerEventPeriodic ){ TimerEventPeriodic tep = (TimerEventPeriodic)performer; return( "when=" + getWhen() + ",run=" + hasRun() + ", can=" + isCancelled() + "/" + tep.isCancelled() + ",freq=" + tep.getFrequency() + ",target=" + tep.getPerformer()+ (name==null?"":",name=" + name )); }else{ return( "when=" + getWhen() + ",run=" + hasRun() + ", can=" + isCancelled() + ",target=" + getPerformer() + (name==null?"":",name=" + name )); } } }
protected String getString() { TimerEvent ce = current_event; String ev_data; if ( ce == null ){ ev_data = "?"; }else{ ev_data = "when=" + ce.getWhen() + ",run=" + ce.hasRun() + ", can=" + ce.isCancelled(); } return( ev_data + ",freq=" + getFrequency() + ",target=" + getPerformer() + (name==null?"":(",name=" + name ))); } }
if ( timerEventProcessDS != null && !timerEventProcessDS.hasRun()){ if (now - timerEventProcessDS.getCreatedTime() < IMMEDIATE_ADDREMOVE_MAXDELAY) { timerProcessDataSources.adjustAllBy( lNextTime - timerEventProcessDS.getWhen()); timerEventProcessDS.cancel();
if ( current_timer_event != null && !current_timer_event.isCancelled()){ long start = current_timer_event.getCreatedTime(); long expiry = current_timer_event.getWhen(); current_timer_event.cancel();
if ( !event.isAbsolute()){ long old_when = event.getWhen(); long new_when = old_when + offset; TimerEventPerformer performer = event.getPerformer(); event.setWhen( new_when );
if ( this_event.isCancelled()){ if ( current_timer_event != null && !current_timer_event.isCancelled()){ current_timer_event.getWhen() < target_time ){ current_timer_event.cancel();
long when = next_event.getWhen(); long rem = next_event.getWhen() - now; event_to_run.setHasRun(); System.out.println( "running: " + event_to_run.getString() ); thread_pool.run(event_to_run.getRunnable());
@Override public void destroy() { destroyed = true; try{ this_mon.enter(); if ( current_timer_event != null ){ // cancel any events that are a way off being triggered. note that // we don't want to cancel all events as the "stopped" event that // is scheduled on stop of a download may still be lurking if ( current_timer_event.getWhen() - SystemTime.getCurrentTime() > 10*1000 ){ if (Logger.isEnabled()) Logger.log(new LogEvent(torrent, LOGID, "Canceling announce trigger")); current_timer_event.cancel(); } } }finally{ this_mon.exit(); } }
@Override public void perform(TimerEvent event) { TableViewSWTFilter<?> filter = tv.getSWTFilter(); if (filter == null) { return; } if (filter.eventUpdate == null || filter.eventUpdate.isCancelled()) { filter.eventUpdate = null; return; } filter.eventUpdate = null; if (filter.nextText != null && !filter.nextText.equals(filter.text)) { filter.text = filter.nextText; filter.checker.filterSet(filter.text); tv.refilter(); } } });
public void adjustAllBy( long offset ) { // fix up the timers synchronized (this) { // as we're adjusting all events by the same amount the ordering remains valid Iterator<TimerEvent> it = events.iterator(); boolean resort = false; while (it.hasNext()) { TimerEvent event = it.next(); long old_when = event.getWhen(); long new_when = old_when + offset; // don't wrap around by accident if ( old_when > 0 && new_when < 0 && offset > 0 ){ // Debug.out( "Ignoring wrap around for " + event.getName()); resort = true; }else{ // System.out.println( " adjusted: " + old_when + " -> " + new_when ); event.setWhen( new_when ); } } if ( resort ){ events = new TreeSet<>(new ArrayList<>(events)); } notify(); } }
public synchronized void dump() { System.out.println( "Timer '" + thread_pool.getName() + "': dump" ); Iterator it = events.iterator(); while(it.hasNext()){ TimerEvent ev = (TimerEvent)it.next(); System.out.println( "\t" + ev.getString()); } }
@Override public int getPauseDownloadPeriodRemaining() { try{ paused_list_mon.enter(); if ( auto_resume_timer != null ){ long rem = auto_resume_timer.getWhen() - SystemTime.getCurrentTime(); return(Math.max( 0, (int)(rem/1000))); } }finally{ paused_list_mon.exit(); } return( 0 ); }
@Override public void perform( TimerEvent event ) { List to_do; synchronized( timerProcessDataSources ){ timerEventProcessDS = null; to_do = processDataSourcesOutstanding; processDataSourcesOutstanding = new ArrayList(); } for (int i=0;i<to_do.size();i++){ try{ addDataSourceCallback this_callback = (addDataSourceCallback)to_do.get(i); if (TableViewImpl.DEBUGADDREMOVE ) { this_callback.debug("processDataSourceQueue after " + (SystemTime.getCurrentTime() - event.getCreatedTime()) + "ms"); } this_callback.process(); }catch( Throwable e ){ Debug.printStackTrace(e); } } } });
if ( !event.isAbsolute()){ TimerEventPerformer performer = event.getPerformer(); long old_when = event.getWhen(); event.setWhen( adjusted_when );
if ( event.isCancelled()){