Commit Graph

10203 Commits

Author SHA1 Message Date
jrandom 8244bdb440 include the timestamper (and fire the client on startup, using a pair of arbitrary NTP hosts - to be configured later) 2004-05-02 05:11:06 +00:00
jrandom bc3b7ffd86 start the admin listener ASAP (right after reading the config)
fire the LoadClientAppsJob right after the admin listener is booted, which now includes support for the onBoot property (which causes the client to run immediately, instead of waiting 2+ minutes)
(yeah, it'd suck if all routers started up, tried to connect to people, got shitlisted, then 2 minutes later got the right NTP time, 'eh?)
2004-05-02 05:02:10 +00:00
jrandom e22cb62493 handle /setTime?blah&now=yyyyMMdd_HH:mm:ss.SSSS (updating the router's clock)
yes, we'll want to filter the access to the admin manager ;)
2004-05-02 04:46:52 +00:00
jrandom e923aa1f72 add the timestamper 2004-05-02 04:29:18 +00:00
jrandom 68a21f1fbb NTP client, GPLed 2004-05-02 04:18:53 +00:00
jrandom 74209e2607 0.3.1 (backwards compatible, still testnet, release later this evening) i2p_0_3_1 2004-04-30 23:04:13 +00:00
jrandom 1a38271104 made the event name more consistent 2004-04-30 23:01:35 +00:00
jrandom e5ab5d6a5a new stat: client.sendAckTime containing the average time to get an ack for a client message send
this stat is published in the netDb, but the quantity fields (how many acks the stat is averaged over) is h4x0red
(it always reads "666", since otherwise it'd be fairly easy to identify what routers run servers, and i can live without knowing the quantity)
2004-04-30 07:56:05 +00:00
jrandom 2745ff727f don't include a peer by default 2004-04-30 07:16:30 +00:00
jrandom 24ea383937 don't harvest so much data 2004-04-30 07:15:29 +00:00
jrandom 9cb11d4d5f allow some overrides that the ExploreJob needs
logging
2004-04-30 07:14:26 +00:00
jrandom 7202ea3340 dont dieFatal() if the first leaseSet lookup fails (this was the cause of those "fast fail" errors [bugId=69])
try up to 6 times to search (or until the expiration, etc)
logging
2004-04-30 07:11:41 +00:00
jrandom d234ea01d0 logging 2004-04-30 07:09:05 +00:00
jrandom e246cd37dd simple exponential decay on the exploration
(min/max frequency=1m/30m, doubling every time we don't find something new)
reduce the bredth and duration of explorations
republish less often (every 60s send out one random one [or however many explicit ones])
logging
2004-04-30 07:08:25 +00:00
jrandom 0a4ddedac9 be more forgiving of slow connections (and fix my math in the comments) 2004-04-30 07:03:13 +00:00
jrandom 0e4b80b002 make sure we only try to request from people we know about (*cough*) 2004-04-30 07:02:16 +00:00
jrandom a460a0dc44 logging, and be more forgiving if the guaranteed/failed comes back before the ack does 2004-04-30 07:00:13 +00:00
jrandom f7212112b8 mark the ping datapoint before actually sending it, for those instances where a reply can be sent back faster than the ACK of the send 2004-04-30 06:58:42 +00:00
jrandom 86d55b32a6 include the (redundant) rtt in the output file to let tools that dont know how to combine columns do so
*cough*
2004-04-30 06:56:25 +00:00
jrandom 4b0d1aac15 only read from or write to disk if necessary 2004-04-27 08:47:48 +00:00
jrandom fb7c06aa01 throw in a 10 second pause between starting up each router to try and avoid too much synchronicity 2004-04-27 08:47:00 +00:00
jrandom 5c41be3470 only read from or write to disk if there is new data to transfer
(and set the file modification date to the 'published on' date in the netDb object)
2004-04-27 08:44:23 +00:00
jrandom a78df1a152 logging (reduce gc churn) 2004-04-27 08:42:40 +00:00
jrandom 34e8db0fe3 logging & formatting to reduce gc churn 2004-04-27 08:41:38 +00:00
jrandom 70faecb8b5 handle the UnsignedInteger's new "IllegalArgumentException on negative" policy 2004-04-27 08:33:15 +00:00
jrandom 237f278479 we only need to reread it if its been updated, dimwit. 2004-04-27 08:31:56 +00:00
jrandom e766a00a12 dont be such a reuse zealot and just fscking optimize the use case
(aka shift instead of creating heavyweight BigInteger objects)
plus some good ol' caching and gc churn reduction
2004-04-27 08:30:55 +00:00
jrandom ea03637ec1 cache the hashCode and getBytes data, significantly reducing the contention on these objects 2004-04-27 08:28:16 +00:00
jrandom d0f6d47b14 logging (reduced temporary object creation by _log.shouldLog) 2004-04-27 08:26:23 +00:00
jrandom 5bf1658d9a dont go into an infinite loop if we shut down before the log manager was fully created
(since the appContext creates a log manager if one doesn't exist, and that create will fail
if we're shutting down, and it'll create a log manager to log the fact that its failing, etc)
2004-04-26 03:32:59 +00:00
jrandom 4ce9fb5b5a new MultiRouter (allows you to fire up mutliple routers in the same JVM)
new VMCommSystem (useful for running large multirouter instances)
new MultiRouterBuilder (helper app for setting up a MultiRouter simulator)
updates to the router to handle multiple routers in the same VM, as well as
deal with the multiple OOM listener stuff
see the javadocs for info on the MultiRouter and MutliRouterBuilder
(yeah, its not ready for prime time, and its really just for the simulator,
so I'm not sure if anyone else is going to use it anyway ;)
2004-04-26 03:30:20 +00:00
jrandom f80f02da73 use the context to find a location for the sessionKeys.dat file (router.sessionKeys.location=filename in router.config) 2004-04-26 01:09:10 +00:00
jrandom 52ece833a7 logging 2004-04-26 01:00:22 +00:00
jrandom 1ad6dde146 allow a whole set of OOM listeners on threads, not just one
cache the hash's base64 value too
use the context's logging more
logging updates
2004-04-26 00:57:10 +00:00
jrandom 64bcfd23bd expose the way to specify context env properties
remove unused lazy load code (we actively load components in the RouterContext)
2004-04-24 22:32:10 +00:00
jrandom d659447879 allow overriding the env props 2004-04-24 22:29:01 +00:00
jrandom e73eb55d75 don't create two contexts just for this I2PTunnel (one implicit from the static new Log(I2PTunnel.class) and one explicit) 2004-04-24 12:51:15 +00:00
jrandom a52cea29f4 Class.getConstructor pulls the public ones... 2004-04-24 12:49:13 +00:00
jrandom 3d91e59386 la la la 2004-04-24 12:38:21 +00:00
jrandom 393b1d7674 big ol' update to strip out the singletons, replacing them with
a rooted app context.  The core itself has its own I2PAppContext
(see its javadoc for, uh, docs), and the router extends that to
expose the router's singletons.  The main point of this is to
make it so that we can run multiple routers in the same JVM, even
to allow different apps in the same JVM to switch singleton
implementations (e.g. run some routers with one set of profile
calculators, and other routers with a different one).
There is still some work to be done regarding the actual boot up
of multiple routers in a JVM, as well as their configuration,
though the plan is to have the RouterContext override the
I2PAppContext's getProperty/getPropertyNames methods to read from
a config file (seperate ones per context) instead of using the
System.getProperty that the base I2PAppContext uses.
Once the multi-router is working, i'll shim in a VMCommSystem
that doesn't depend upon sockets or threads to read/write (and
that uses configurable message send delays / disconnects / etc,
perhaps using data from the routerContext.getProperty to drive it).
I could hold off until the sim is all working, but there's a
truckload of changes in here and I hate dealing with conflicts ;)
Everything works - I've been running 'er for a while and kicked
the tires a bit, but if you see something amiss, please let me
know.
2004-04-24 11:54:35 +00:00
human c29a6b95ae Increased logging priority for connection timeouts
(human)
2004-04-23 14:18:48 +00:00
jrandom 567a4e8361 so this is why we're not harvesting the dropped jobs/messages (d'oh)
if you update your harvester.config and rerun the router, it'll start paying attention to it
(no, unfortunately the NetMonitor doesn't periodically read this file)
2004-04-22 03:17:41 +00:00
jrandom 4d3e4c1a15 d'oh 2004-04-22 03:11:12 +00:00
jrandom afeecdf4af logging, formatting 2004-04-22 03:09:03 +00:00
human 4fe7105e2f Implemented timeout handling to I2PTunnelServer 2004-04-21 17:58:26 +00:00
human d7c3a53f2d Initial implementation of read() timeout on I2PSocket. Let's see whether it
could solve duck's problems with dangling threads...
(human)
2004-04-21 17:56:16 +00:00
jrandom 58e7574a6a pull from the right field for netDb lookups sent i2p_0_3_0_4 2004-04-20 20:58:07 +00:00
jrandom 94ab703c7c added prepareGUI, buildGUI,. distGUI targets 2004-04-20 20:56:55 +00:00
human 90350786e6 s/InterruptedException/InterruptedIOException/
(human)
2004-04-20 15:43:04 +00:00
human 8038e1ee7d I2PSocketManager.connect() should have thrown InterruptedIOException, and *not*
InterruptedException (oops!)
(human)
2004-04-20 15:38:55 +00:00