64bcfd23bdexpose the way to specify context env properties remove unused lazy load code (we actively load components in the RouterContext)
jrandom
2004-04-24 22:32:10 +00:00
d659447879allow overriding the env props
jrandom
2004-04-24 22:29:01 +00:00
e73eb55d75don't create two contexts just for this I2PTunnel (one implicit from the static new Log(I2PTunnel.class) and one explicit)
jrandom
2004-04-24 12:51:15 +00:00
a52cea29f4Class.getConstructor pulls the public ones...
jrandom
2004-04-24 12:49:13 +00:00
3d91e59386la la la
jrandom
2004-04-24 12:38:21 +00:00
393b1d7674big 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.
jrandom
2004-04-24 11:54:35 +00:00
c29a6b95aeIncreased logging priority for connection timeouts (human)
human
2004-04-23 14:18:48 +00:00
567a4e8361so 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)
jrandom
2004-04-22 03:17:41 +00:00
4fe7105e2fImplemented timeout handling to I2PTunnelServer
human
2004-04-21 17:58:26 +00:00
d7c3a53f2dInitial implementation of read() timeout on I2PSocket. Let's see whether it could solve duck's problems with dangling threads... (human)
human
2004-04-21 17:56:16 +00:00
58e7574a6apull from the right field for netDb lookups sent
i2p_0_3_0_4
jrandom
2004-04-20 20:58:07 +00:00
90350786e6s/InterruptedException/InterruptedIOException/ (human)
human
2004-04-20 15:43:04 +00:00
8038e1ee7dI2PSocketManager.connect() should have thrown InterruptedIOException, and *not* InterruptedException (oops!) (human)
human
2004-04-20 15:38:55 +00:00
65f1a5fed6write out the public dest every time we connect, /including/ the first time. (thanks duck)
jrandom
2004-04-20 13:30:09 +00:00
64b94ab1240.3.0.4 (backwards compatible, release info / docs / etc coming later today [is today tuesday already?]
jrandom
2004-04-20 09:18:53 +00:00
c03cb1de5erevised GUI fetch/build/dist process - at the top level, run 'ant prepGUI' to fetch and prepare the jfreechart code 'ant buildGUI' to build the jars necessary 'ant distGUI' to build a gui.zip that contains the jars and a license notice related to the LGPL and APL software linked within it. ("installing" the GUI == unzip gui.zip into the I2P install dir)
jrandom
2004-04-20 09:13:07 +00:00
f0004290b4oops, pulled the wrong entry
jrandom
2004-04-20 07:55:37 +00:00
7e1b49a742fixed up some of the cleanup code to handle out of order responses minor refactoring, formatting
jrandom
2004-04-20 07:42:53 +00:00
a51e0c26e5added the eepProxy and harvester as part of the default clientApps run on startup (with a commented out set of lines for a heartbeat client/server) updated -cp lines accordingly use javaw for windows users (so they can close the damn dos boxes) toss the default logger logs into logs/ (say that three times fast) formatting
jrandom
2004-04-20 07:32:21 +00:00
180d39534cinclude the harvester & heartbeat monitor (but not their GUIs)
jrandom
2004-04-20 07:27:41 +00:00
203d0e870aallow the user to override the I2CP options (exposed on the command line, ala SAMBridge [[listenHost ]listenPort[ name=val]*] where listenHost defaults to localhost, listenPort defaults to 7656, and name=val can be the I2CP options to override (e.g. i2cp.tcp.host=localhost i2cp.tcp.port=4001)
jrandom
2004-04-20 07:26:34 +00:00
bed7d09764delete that stupid 'interactive' mode where we dump things to stdout on command (hello, we have an admin console now, duh) formatting touchups.
jrandom
2004-04-20 07:06:39 +00:00
3c762c9a02short circuit some handling when building custom length tunnels if a client only wants 0 hop tunnels, give them 0 hop tunnels (rather than wasting a 2+ hop on it) make inNetPool.dropped and inNetPool.duplicate rate stats, not frequency stats formatting, minor refactoring
jrandom
2004-04-20 02:42:56 +00:00
ba5f0fb70bcorrectly differentiate between handled & matched requests logging and some minor refactoring
jrandom
2004-04-20 02:18:20 +00:00
ebc3e05f23* Made the SAM bridge aware of the new exceptions thrown by I2PSocketManager.connect(), with better error reporting to SAM clients; * made SAMStreamSession destroy the associated I2PSocketManager when being closed. (human)
human
2004-04-19 21:52:52 +00:00
674ad899f9Made HTTPTunnel aware of the new exceptions thrown by I2PSocketManager.connect() (human)
human
2004-04-19 21:48:14 +00:00
d945eb6fcfMade all the ministreaming-based apps aware of the new exceptions thrown by I2PSocketManager.connect() (human)
human
2004-04-19 21:47:06 +00:00
fb170e3c42* Made I2PSocketManager.connect() throw several kinds of exceptions, for better error reporting; * Added an I2PSocketManager.destroySocketManager() method, that closes all the managed sockets and destroys the associated I2PSession. (human)
human
2004-04-19 21:45:04 +00:00
3658cca3e5Further simplified I2P repliable datagram format: they now contain senderPubDest + S(H(payload)) + payload (human)
human
2004-04-19 21:43:06 +00:00
5e78a41b75remove unnecessary scrolls and packs
jrandom
2004-04-18 22:53:07 +00:00
c23d8efe08publish the new data points (crypto.garlic.decryptFail, tunnel.unknownTunnelTimeLeft)
jrandom
2004-04-18 03:40:42 +00:00
38091c3c25added stat - tunnel.unknownTunnelTimeLeft which gathers the time until expiration of tunnel messages we're dropping because we dont know about the tunnel Id. formatting / logging
jrandom
2004-04-18 03:33:53 +00:00
f0cd04ebc3increased the delay to 2 minutes after startup before running client apps tabs/spaces
jrandom
2004-04-18 02:50:54 +00:00
3295c18829* Added DATAGRAM supprt; * refactoring of SAMRawSession.java, to make it derive from SAMMessageSession.java (parent class for SAMDatagramSession.java, too); * removed unuseful cruft; * some fixes; * M-x untabify. (human)
human
2004-04-17 23:19:20 +00:00
ccb309fd92I2P repliable datagrams
human
2004-04-17 23:16:28 +00:00
8206a26267sample harvester.config (defining what stats we want to harvest from the netDb)
jrandom
2004-04-17 03:33:19 +00:00
8c7b91bd79load what stats we want to monitor from a config file (harvester.config)
jrandom
2004-04-17 03:32:51 +00:00
a47c7b8f27always send as a guaranteed message (but block as before) - this lets udp-esque users get transparent sessionKey/sessionTag management. we'll probably refactor mode=guaranteed/best_effort into two concepts later, dealing with blocking and encryption seperately. logging and formatting fixes
jrandom
2004-04-17 00:13:28 +00:00
86759d2f9cDatabaseLookupMessageHandler: added stat - netDb.lookupsReceived fixed formatting HandleDatabaseLookupMessage: added stat - netDb.lookupsHandled added stat - netDb.lookupsMatched fixed formatting HandleDatabaseStoreMessage: added stat - netDb.storeHandled fixed formatting StoreJob: added stat - netDb.storeSent fixed formatting removed old unused code (we do dbStore through tunnels, not garlics) logging SearchJob: fixed formatting logging HandleTunnelCreateMessageJob: fixed formatting logging PoolingTunnelManagerFacade: added stat - tunnel.participatingTunnels fixed formatting logging TunnelPool: added getParticipatingTunnelCount() fixed formatting logging StatisticsManager: revamped whats published fixed formatting logging fixed formatting
jrandom
2004-04-16 23:52:11 +00:00
58c145ba08Oops! Added missing file... (human)
human
2004-04-16 03:44:35 +00:00
c0bb3da22f* Added support for SESSION CREATE STYLE=STREAM DIRECTION={CREATE|RECEIVE|BOTH} * M-x untabify (human)
human
2004-04-16 03:42:05 +00:00
031338d84dFirst step for the "connection refused" concept: incoming connections won't be accepted until the server app actually requires an I2PServerSocket from the I2PSocketManager. It allows both to add a little bit of functionality, and to fix a nasty bug: it was possible to hang an app that connects through the I2PSocketManager but actually doesn't accept() connections (if 2 connection requests were sent to the app, the I2PSocketManager got stuck waiting forever on I2PServerSocketImpl.getNewSocket()).
human
2004-04-16 03:31:13 +00:00
2a619f3fbaSlightly updated specs (human)
human
2004-04-16 03:22:37 +00:00
1c145cbc09handle corruption / race during update of the peer's routerInfo data
jrandom
2004-04-16 03:21:20 +00:00
5d71fde51ballow a third parameter - # seconds between fetch this lets you periodically refetch the seeds (I'm using this to fetch the live netDb & run the netmonitor/viewer)
jrandom
2004-04-16 03:09:48 +00:00
eec29f5c68include the netmonitor (but not the GUI) delete **/*.class and **/*.java~ (my IDE builds in place and backs up there)
jrandom
2004-04-16 03:08:01 +00:00
8fbd7acf2ainitial impl (public domain, yadda yadda yadda)
jrandom
2004-04-16 02:16:55 +00:00
7b824e6178kill long lines
mihi
2004-04-14 23:27:50 +00:00
7b03c95cfd* Added STREAMing support; * added NAMING LOOKUP NAME=ME support; * various cleanups & fixes; * what else? (human)
human
2004-04-14 16:59:47 +00:00
d2b09ecfda* Fixed race that (maybe) caused the problems reported by aum on <http://dev.i2p.net/pipermail/i2p/2004-April/000214.html>; * slightly revised locking; * made accept() throw a ConnectException when the I2PServerSocket is closed. (human)
human
2004-04-14 15:28:02 +00:00
4cdd42f391Fixed build.xml to detect os, and launch 'jythonc' or 'jythonc.bat' according to whether we're running on *nix or windoze. build.xml should now work on your platform, as long as you have jython installed and jython is on your execution path.
aum
2004-04-13 17:40:07 +00:00
4d0b3b287fSAM bridge integration in the I2P build & packaging system (human)
human
2004-04-13 04:41:14 +00:00
0d7f784773Pure-java implementation of the SAM bridge. It actually supports the HELLO, DEST and NAMING commands, plus SESSIONs with STYLE=RAW. It works with aum's client-side Python library (modulo a small change in the HELLO command, required to allow protocol versioning, not yet implemented in the client lib). (human)
human
2004-04-13 04:38:52 +00:00
66ad54fbf0Made logs actually go through I2P logging system (human)
human
2004-04-13 04:15:46 +00:00
33782859b8the heartbeat engine and gui are good 'nuff for now (while i want to spend another few days on it, there are more pressing things and this will meet my needs for testnet). the engine works as before, and the gui now actually plots out and follows the chart over time. The gui does have a lot of things left to be done before it can be adopted by joe sixpack - * load/store the URLs being monitored so you don't have to reenter them on each startup * clear out the x axis on refetch (now it just keeps growing, which is good and bad) * adjustable refresh rate * implement snapshots (saving all the current state files to a dir, and allowing that dir to be loaded all at once) * beautification (override the colors, etc) the net.i2p.heartbeat.** code is all public domain, BUT net.i2p.heartbeat.gui.JFreeChart* classes depend on the LGPL'ed jfreechart code, which in turn depends on apache licensed code (log4j). for the time being, this code doesn't include the jfreechart code (and dependencies), but the ant task in apps/heartbeat/java 'fetchJfreechart' downloads it and places it under apps/heartbeat/java/lib, after which you can build the GUI by running the ant task 'buildGUI' (buildGUI / etc are NOT in the standard build process). once we figure out all the details to comply with the requirements of log4j's license we'll do so. but for now, the above works.
jrandom
2004-04-13 03:24:04 +00:00
3d294d5771fix javadoc warning: no @return on void functions (shendaras)
shendaras
2004-04-12 10:26:42 +00:00
c889a83707More update ant tidy-up
aum
2004-04-12 08:53:26 +00:00
d3ad111b85change - now goes to root build dir and does 'ant build' to ensure the required jars are present
aum
2004-04-12 06:41:24 +00:00
de740b1d9dstarted adding STREAM support
aum
2004-04-12 05:46:05 +00:00
7c155545aepartial impl of the gui, still a few things left to do: - implement some validation on the state files loaded - reenable delete and updates to refresh - integrate the real chart code (currently just plain text instead of the graphs) - gui updates i wont spend more than another day on this during the testnet, but i want to get it plotting before continuing.
jrandom
2004-04-12 02:44:18 +00:00
a7597b2a6dTested build process on windows. Updated README, and fixed build.bat, so windows build of i2psam.jar works.
aum
2004-04-11 10:31:41 +00:00
22916c1904Corrected Makefile: - removed relative path for jython.jar, replaced with a def which developer must edit
aum
2004-04-11 07:21:28 +00:00
a72e479e50scoping so the test classes are reachable outside the current package
jrandom
2004-04-10 13:37:29 +00:00
60c1776994fix up packages
jrandom
2004-04-10 13:35:56 +00:00
fbddb24728license incompatible with i2p license policy - section 2 requires application developers to use the software in a particular way (to have the software display "Copyright \xa91996-1999 Corporation for National Research Initiatives; All Rights Reserved") section 3 has a similar problem.
jrandom
2004-04-10 12:56:02 +00:00
4fb3d34786see how that looks (shendaras)
shendaras
2004-04-10 10:01:17 +00:00
9a0a527b2btry with different settings...
jrandom
2004-04-10 09:55:11 +00:00
ba8fb23b9deditor testing (ignore for now)
jrandom
2004-04-10 09:43:29 +00:00
99790695a2Javadoc, imports, and (potentially) some indentation. Maybe it won't do anything.... who knows? (shendaras)
shendaras
2004-04-10 09:12:59 +00:00
e3a86bb150code.leo is an xml-format file that holds the I2P SAM server and client sources in a dissected XML form.
aum
2004-04-10 08:21:01 +00:00
0ac1e885bdDescription of what lives here and how to build it
aum
2004-04-10 08:18:42 +00:00
36aca1d39bi2psamclient.py is a Python API allowing Python apps to access I2P via SAM. File contains a demo function, which both tests the library, and shows simple examples of how to use the API. Run epydoc on this file to get good doco.
aum
2004-04-10 08:16:18 +00:00
d0192b4cabImplements the I2P SAM server, in Jython (www.jython.org)
aum
2004-04-10 08:12:22 +00:00
a3a7a585d7Added Makefile for building i2p SAM server jarfile
aum
2004-04-10 08:11:24 +00:00