# Package net.i2p.router.tasks

Periodic maintenance tasks and background jobs for I2P router operations.

See: Description

- Class Summary
  Class | Description
  --- | ---
  BasePerms | Windows permission fixer for router installations.
  CoalesceStatsEvent | Periodic statistics collection and aggregation system.
  CryptoChecker | Cryptographic algorithm availability checker and advisor.
  GracefulShutdown | GracefulShutdown manages the router's graceful shutdown/restart lifecycle.
  InstallUpdate | Automatic I2P router update installer and processor.
  MarkLiveliness | Router instance liveliness marker for multi-instance detection.
  OOMListener | Out-of-memory error handler for emergency router shutdown.
  PersistRouterInfoJob | Router information persistence and synchronization job.
  ReadConfigJob | Simply read the router config periodically, so that the user may make config changes externally.
  Republish | Router information publisher for network database synchronization.
  Restarter | Router restarter implementation.
  RouterWatchdog | Router health monitor and automatic recovery system.
  ShutdownHook | Emergency shutdown hook for JVM termination.
  Spinner | Shutdown delay thread to ensure complete router termination.
  ThreadDump | Thread dump utility for debugging hung router instances.
  UpdateRoutingKeyModifierJob | Update the routing Key modifier every day at midnight (plus on startup).

## Package net.i2p.router.tasks Description

Periodic maintenance tasks and background jobs for I2P router operations.

This package contains various maintenance tasks, background jobs, and periodic operations that keep the I2P router running smoothly. These tasks handle everything from network exploration and peer management to statistics collection and system maintenance.

Key Components:

- PeerTestJob - Tests peer connectivity and performance
- ExploreJob - Explores the network for new peers
- CoalesceStatsEvent - Aggregates and processes statistics
- ReadConfigJob - Reloads router configuration
- CommSystemStatusChecker - Monitors transport system health
- ProfileOrganizer - Organizes and maintains peer profiles
- TunnelPoolManager - Manages tunnel pool operations
- NetDbResearcher - Performs network database research
- RouterWatchdog - Monitors router health and performance

Main Functionality:

- Periodic network exploration and peer discovery
- Performance monitoring and statistics collection
- System health checks and maintenance
- Configuration reloading and updates
- Peer testing and validation
- Database cleanup and optimization
- Tunnel pool management and maintenance
- Resource cleanup and garbage collection

Task Types:

- Jobs - Scheduled tasks in the router job queue
- Threads - Long-running background processes
- TimedEvents - Periodic timer-based operations
- One-time tasks - Single execution maintenance tasks

Usage Notes:

- Internal router maintenance operations only
- Not part of the public API
- Essential for router stability and performance
- Coordinated through Router.java task scheduler