I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Forked from I2P Developers / i2p.i2p
16216 commits behind the upstream repository.
  • jrandom's avatar
    45767360
    2005-07-21 jrandom · 45767360
    jrandom authored and zzz's avatar zzz committed
        * Fix in the SDK for a bug which would manifest itself as misrouted
          streaming packets when a destination has many concurrent streaming
          connections (thanks duck!)
        * No more "Graceful shutdown in -18140121441141s"
    45767360
    History
    2005-07-21 jrandom
    jrandom authored and zzz's avatar zzz committed
        * Fix in the SDK for a bug which would manifest itself as misrouted
          streaming packets when a destination has many concurrent streaming
          connections (thanks duck!)
        * No more "Graceful shutdown in -18140121441141s"
NoticeHelper.java 1.15 KiB
package net.i2p.router.web;

import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;

/**
 * Simple helper to query the appropriate router for data necessary to render
 * any emergency notices 
 */
public class NoticeHelper {
    private RouterContext _context;
    /**
     * Configure this bean to query a particular router context
     *
     * @param contextId begging few characters of the routerHash, or null to pick
     *                  the first one we come across.
     */
    public void setContextId(String contextId) {
        try {
            _context = ContextHelper.getContext(contextId);
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
    
    public String getSystemNotice() {
        if (_context.router().gracefulShutdownInProgress()) {
            long remaining = _context.router().getShutdownTimeRemaining();
            if (remaining > 0)
                return "Graceful shutdown in " + DataHelper.formatDuration(remaining);
            else
                return "Graceful shutdown imminent, please be patient as state is written to disk";
        } else {
            return "";
        }
    }
}