/* * cambia la dificultad cada cierto tiempo (maximo nivel = 5) */ public int cambioDific() { // System.out.println(time.millisElapsed()); if (time.millisElapsed() >= 30000 && nivelActual == 1) { varDific = 250; contLV.setValue(2); nivelActual = 2; velExtra = 1; } else if (time.millisElapsed() >= 50000 && nivelActual == 2) { varDific = 100; contLV.setValue(3); nivelActual = 3; velExtra = 2; } else if (time.millisElapsed() >= 100000 && nivelActual == 3) { varDific = 70; contLV.setValue(4); nivelActual = 4; // velExtra=2; } else if (time.millisElapsed() >= 150000 && nivelActual == 4) { varDific = 50; contLV.setValue(5); nivelActual = 5; if (velExtra < 3) velExtra = 3; } return (varDific); }
@Test public void testSimpleTimerAsThread() throws InterruptedException { SimpleTimer st = new SimpleTimer(1000); st.start(); Thread.sleep(250); for (int x = 0; x < 5; x++) { assertEquals(x, st.getRound()); Thread.sleep(1000); } }
/** * Start up the progress meter, printing initialization message and starting up the daemon thread * for periodic printing. */ @Requires("progressMeterDaemon != null") private synchronized void start() { timer.start(); lastProgressPrintTime = timer.currentTime(); logger.info("[INITIALIZATION COMPLETE; STARTING PROCESSING]"); logger.info( String.format( "%15s processed.%s runtime per.1M.%s completed total.runtime remaining", "Location", processingUnitName, processingUnitName)); progressMeterDaemon.start(); }
/* * crea los contadores, mensajes, personaje y tiempos del juego */ public void creanivel() { time = new SimpleTimer(); time.mark(); Barr = new Barra(); sound2.stop(); bandBarra = 0; varDific = 450; nivelActual = 1; velExtra = 0; orbPj = new Orb(); addObject(orbPj, 390, 463); addObject(new Mensaje("Nivel"), 623, 93); addObject(new Mensaje("Vida"), 623, 151); addObject(new Mensaje("Tiempo"), 623, 31); addObject(new Mensaje("Color seleccionado"), 687, 439); contLV = new Counter(); addObject(contLV, 686, 92); contLV.setValue(1); contHP = new Counter(); addObject(contHP, 686, 150); contHP.setValue(orbPj.getHP()); contTime = new Counter(); addObject(contTime, 686, 30); muestraColor = new acColor(); addObject(muestraColor, 691, 497); sound.playLoop(); }
/** Should be called when processing is done */ public void notifyDone(final long nTotalRecordsProcessed) { // print out the progress meter this.nTotalRecordsProcessed = nTotalRecordsProcessed; this.positionMessage = "done"; printProgress(true); logger.info( String.format( "Total runtime %.2f secs, %.2f min, %.2f hours", timer.getElapsedTime(), timer.getElapsedTime() / 60, timer.getElapsedTime() / 3600)); if (performanceLog != null) performanceLog.close(); // shutdown our daemon thread progressMeterDaemon.done(); }
/** * Creates a new ProgressData object recording a snapshot of our progress at this instant * * @param loc our current position. If null, assumes we are done traversing * @param nTotalRecordsProcessed the total number of records we've processed * @return */ private ProgressMeterData takeProgressSnapshot( final GenomeLoc loc, final long nTotalRecordsProcessed) { // null -> end of processing final long bpProcessed = loc == null ? targetSizeInBP : regionsBeingProcessed.sizeBeforeLoc(loc); return new ProgressMeterData(timer.getElapsedTime(), nTotalRecordsProcessed, bpProcessed); }
/** * Actually try to print out progress * * <p>This function may print out if the progress print is due, but if not enough time has elapsed * since the last print we will not print out information. * * @param mustPrint if true, progress will be printed regardless of the last time we printed * progress */ protected synchronized void printProgress(final boolean mustPrint) { final long curTime = timer.currentTime(); final boolean printProgress = mustPrint || maxElapsedIntervalForPrinting( curTime, lastProgressPrintTime, progressPrintFrequency); final boolean printLog = performanceLog != null && maxElapsedIntervalForPrinting( curTime, lastPerformanceLogPrintTime, PERFORMANCE_LOG_PRINT_FREQUENCY); if (printProgress || printLog) { final ProgressMeterData progressData = takeProgressSnapshot(maxGenomeLoc, nTotalRecordsProcessed); final AutoFormattingTime elapsed = new AutoFormattingTime(progressData.getElapsedSeconds()); final AutoFormattingTime bpRate = new AutoFormattingTime(progressData.secondsPerMillionBP()); final AutoFormattingTime unitRate = new AutoFormattingTime(progressData.secondsPerMillionElements()); final double fractionGenomeTargetCompleted = progressData.calculateFractionGenomeTargetCompleted(targetSizeInBP); final AutoFormattingTime estTotalRuntime = new AutoFormattingTime(elapsed.getTimeInSeconds() / fractionGenomeTargetCompleted); final AutoFormattingTime timeToCompletion = new AutoFormattingTime(estTotalRuntime.getTimeInSeconds() - elapsed.getTimeInSeconds()); if (printProgress) { lastProgressPrintTime = curTime; updateLoggerPrintFrequency(estTotalRuntime.getTimeInSeconds()); logger.info( String.format( "%15s %5.2e %s %s %5.1f%% %s %s", positionMessage, progressData.getUnitsProcessed() * 1.0, elapsed, unitRate, 100 * fractionGenomeTargetCompleted, estTotalRuntime, timeToCompletion)); } if (printLog) { lastPerformanceLogPrintTime = curTime; performanceLog.printf( "%.2f\t%d\t%.2e\t%d\t%.2e\t%.2e\t%.2f\t%.2f%n", elapsed.getTimeInSeconds(), progressData.getUnitsProcessed(), unitRate.getTimeInSeconds(), progressData.getBpProcessed(), bpRate.getTimeInSeconds(), fractionGenomeTargetCompleted, estTotalRuntime.getTimeInSeconds(), timeToCompletion.getTimeInSeconds()); } } }
protected DirectByteBufferPoolReal() { // create the buffer pool for each buffer size ArrayList list = new ArrayList(); for (int p = START_POWER; p <= END_POWER; p++) { list.add(new Integer(BigInteger.valueOf(2).pow(p).intValue())); } for (int i = 0; i < EXTRA_BUCKETS.length; i++) { list.add(new Integer(EXTRA_BUCKETS[i])); } Integer[] sizes = new Integer[list.size()]; list.toArray(sizes); Arrays.sort(sizes); for (int i = 0; i < sizes.length; i++) { ArrayList bufferPool = new ArrayList(); buffersMap.put(sizes[i], bufferPool); } // initiate periodic timer to check free memory usage SimpleTimer.addPeriodicEvent( "DirectBB:compact", COMPACTION_CHECK_PERIOD, new TimerEventPerformer() { public void perform(TimerEvent ev) { compactBuffers(); } }); if (DEBUG_PRINT_MEM) { Timer printer = new Timer("printer"); printer.addPeriodicEvent( DEBUG_PRINT_TIME, new TimerEventPerformer() { public void perform(TimerEvent ev) { printInUse(false); } }); } }
protected synchronized void readConfigValues() { config_enabled = COConfigurationManager.getBooleanParameter("Stats Enable"); config_period = COConfigurationManager.getIntParameter("Stats Period"); config_dir = COConfigurationManager.getStringParameter("Stats Dir"); config_file = COConfigurationManager.getStringParameter("Stats File"); if (config_enabled) { long targetFrequency = 1000 * (config_period < DEFAULT_SLEEP_PERIOD ? config_period : DEFAULT_SLEEP_PERIOD); if (event != null && event.getFrequency() != targetFrequency) { event.cancel(); event = null; } if (event == null) event = SimpleTimer.addPeriodicEvent("StatsWriter", targetFrequency, this); } else if (event != null) { event.cancel(); event = null; } }
private void sessionStart() { OverallStatsImpl stats = (OverallStatsImpl) StatsFactory.getStats(); synchronized (this) { if (closing) { return; } boolean enabled = COConfigurationManager.getBooleanParameter("long.term.stats.enable"); if (active || !enabled) { return; } active = true; long[] snap = stats.getLastSnapshot(); ss_d_received = gm_stats.getTotalDataBytesReceived(); ss_p_received = gm_stats.getTotalProtocolBytesReceived(); ss_d_sent = gm_stats.getTotalDataBytesSent(); ss_p_sent = gm_stats.getTotalProtocolBytesSent(); ss_dht_sent = 0; ss_dht_received = 0; if (core.isStarted()) { DHT[] dhts = getDHTs(); if (dhts != null) { for (DHT dht : dhts) { DHTTransportStats dht_stats = dht.getTransport().getStats(); ss_dht_sent += dht_stats.getBytesSent(); ss_dht_received += dht_stats.getBytesReceived(); } } } st_p_sent = snap[0] + (ss_p_sent - snap[6]); st_d_sent = snap[1] + (ss_d_sent - snap[7]); st_p_received = snap[2] + (ss_p_received - snap[8]); st_d_received = snap[3] + (ss_d_received - snap[9]); st_dht_sent = snap[4] + (ss_dht_sent - snap[10]); st_dht_received = snap[5] + (ss_dht_received - snap[11]); write( RT_SESSION_START, new long[] { st_p_sent, st_d_sent, st_p_received, st_d_received, st_dht_sent, st_dht_received }); if (event == null) { // should always be null but hey ho event = SimpleTimer.addPeriodicEvent( "LongTermStats", MIN_IN_MILLIS, new TimerEventPerformer() { public void perform(TimerEvent event) { updateStats(); } }); } } }
public void caerNiv4() { if (tiempoC.millisElapsed() >= 200) caer(); }
public void girarNiv4() { if (tiempoG.millisElapsed() >= 10) girar(); }
public BarraGiraDerecha() { tiempoC = new SimpleTimer(); tiempoG = new SimpleTimer(); tiempoG.mark(); tiempoC.mark(); }
private static void updateMetaData_handleReply( TOTorrent torrent, String hash, String replyType, Map mapHashes) { if (hash == null && torrent != null) { try { hash = torrent.getHashWrapper().toBase32String(); } catch (Exception e) { } } GlobalManager gm = AzureusCoreFactory.getSingleton().getGlobalManager(); DownloadManager dm = gm.getDownloadManager(new HashWrapper(Base32.decode(hash))); if (torrent == null && dm != null) { torrent = dm.getTorrent(); } Map contentMap = PlatformTorrentUtils.getContentMap(torrent); final TOTorrent torrentFinal = torrent; if (replyType.equals(PlatformMessenger.REPLY_EXCEPTION)) { if (torrent != null) { // try again in a bit log(torrent, "Exception, retrying later"); SimpleTimer.addEvent( "Update MD Retry", SystemTime.getCurrentTime() + RETRY_METADATA, new TimerEventPerformer() { public void perform(TimerEvent event) { log(torrentFinal, "retry time"); PlatformTorrentUtils.updateMetaData(torrentFinal, 15000); } }); } } else { Map jsonMapMetaData = hash == null ? null : (Map) mapHashes.get(hash); if (jsonMapMetaData != null) { long oldLastUpdated = getContentLastUpdated(torrent); long expireyMins = 0; for (Iterator iter = jsonMapMetaData.keySet().iterator(); iter.hasNext(); ) { String key = (String) iter.next(); Object value = jsonMapMetaData.get(key); if (value == null || value.equals(null)) { contentMap.remove(key); } else if ((key.equals("Thumbnail") || key.endsWith(".B64")) && value instanceof String) { contentMap.put(key, Base64.decode((String) value)); } else if (key.equals("expires-in-mins") && value instanceof Long) { expireyMins = ((Long) value).longValue(); } else { contentMap.put(key, value); } writeTorrentIfExists(torrent); } // crappy way of updating the display name if (dm != null) { String title = PlatformTorrentUtils.getContentTitle(torrent); if (title != null && title.length() > 0 && dm.getDownloadState().getDisplayName() == null) { dm.getDownloadState().setDisplayName(title); } } triggerMetaDataUpdateListeners(torrent); if (torrent != null) { // setup next refresh long refreshOn; if (expireyMins > 0) { refreshOn = SystemTime.getCurrentTime() + (expireyMins * 60 * 1000L); } else { long newLastUpdated = getContentLastUpdated(torrent); long diff = newLastUpdated - oldLastUpdated; log( torrent, "Last Updated: new " + new Date(newLastUpdated) + ";old " + new Date(oldLastUpdated) + ";diff=" + diff); if (diff > 0 && oldLastUpdated != 0) { diff *= 2; if (diff < MIN_MD_REFRESH_MS) { diff = MIN_MD_REFRESH_MS; } else if (diff > MAX_MD_REFRESH_MS) { diff = MAX_MD_REFRESH_MS; } refreshOn = SystemTime.getOffsetTime(diff); } else { refreshOn = SystemTime.getCurrentTime() + (7 * 24 * 60 * 60 * 1000L); } } log(torrent, "got MD. Next refresh in " + (refreshOn - SystemTime.getCurrentTime())); setMetaDataRefreshOn(torrent, refreshOn); SimpleTimer.addEvent( "Update MD", refreshOn, new TimerEventPerformer() { public void perform(TimerEvent event) { PlatformTorrentUtils.updateMetaData(torrentFinal, 15000); } }); } } else if (torrent != null) { long refreshOn = SystemTime.getCurrentTime() + (30 * 24 * 60 * 60 * 1000L); setMetaDataRefreshOn(torrent, refreshOn); log(torrent, "no hash in reply. Next refresh on " + new Date(refreshOn)); } } }
/* * cuenta el tiempo se juego en segundos */ public void tiempo() { tiempoActual = time.millisElapsed() / 1000; contTime.setValue(tiempoActual); }
/** @return the current runtime in nanoseconds */ @Ensures("result >= 0") public long getRuntimeInNanoseconds() { return timer.getElapsedTimeNano(); }