## net.i2p.router
Class MultiRouter

    java.lang.Object
      net.i2p.router.MultiRouter

    public class MultiRouter

extends Object

Fire up multiple routers in the same VM, all with their own RouterContext (and all that entails). In addition, this creates a root I2PAppContext for any objects not booted through one of the RouterContexts. Each of these contexts are configured through a simple properties file (where the name=value contained in them are used for the context's getProperty(name)).

Usage:

      MultiRouter globalContextFile routerContextFile[ routerContextFile]*

Each routerContext specified is used to boot up a single router. It is HIGHLY recommended that those context files contain a few base env properties:

- loggerFilenameOverride=rN/logs/log-router-#.txt
- router.configLocation=rN/router.config

(where "rN" is an instance number, such as r0 or r9). Additionally, two other properties might be useful:

- i2p.vmCommSystem=true
- i2p.encryption=off

The first line tells the router to use an in-VM comm system for sending messages back and forth between routers (see net.i2p.transport.VMCommSystem), and the second tells the router to stub out ElGamal, AES, and DSA code, reducing the CPU load (but obviously making the router incapable of talking to things that need the encryption enabled). To run a client app through a router that has i2p.encryption=off, you should also add that line to the client's JVM (for example, `java -Di2p.encryption=off -jar lib/i2ptunnel.jar`).

The multirouter waits until all of the routers are shut down (which none will do on their own, so as before, you'll want to kill the proc or ^C it).

Constructor Summary
`MultiRouter()`

Method Summary
`static void` `main(String[] args)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MultiRouter

    public MultiRouter()

Method Detail

### main

    public static void main(String[] args)