Commit Graph

24 Commits

Author SHA1 Message Date
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
90350786e6 s/InterruptedException/InterruptedIOException/
(human)
2004-04-20 15:43:04 +00:00
203d0e870a allow 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)
2004-04-20 07:26:34 +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)
2004-04-19 21:52:52 +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)
2004-04-17 23:19:20 +00:00
58c145ba08 Oops! Added missing file...
(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)
2004-04-16 03:42:05 +00:00
7b03c95cfd * Added STREAMing support;
* added NAMING LOOKUP NAME=ME support;
* various cleanups & fixes;
* what else?
(human)
2004-04-14 16:59:47 +00:00
aum
4cdd42f391 Fixed 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.

Got SAM STREAMs working - test code added to i2psamclient.py
as function demoSTREAM()
2004-04-13 17:40:07 +00:00
4d0b3b287f SAM bridge integration in the I2P build & packaging system
(human)
2004-04-13 04:41:14 +00:00
0d7f784773 Pure-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)
2004-04-13 04:38:52 +00:00
aum
c889a83707 More update ant tidy-up 2004-04-12 08:53:26 +00:00
aum
6a55af1950 Fixed paths 2004-04-12 08:43:32 +00:00
aum
a85cf2c2af Makefile and build.bat removed since we've switched to ant
README moved up to parent
2004-04-12 08:41:43 +00:00
aum
4c0e3f92d3 Created build.xml for SAM
Moved README out of build dir
2004-04-12 08:32:32 +00:00
aum
d3ad111b85 change - now goes to root build dir and does 'ant build' to ensure
the required jars are present
2004-04-12 06:41:24 +00:00
aum
de740b1d9d started adding STREAM support 2004-04-12 05:46:05 +00:00
aum
a7597b2a6d Tested build process on windows.
Updated README, and fixed build.bat, so windows build
of i2psam.jar works.
2004-04-11 10:31:41 +00:00
aum
22916c1904 Corrected Makefile:
- removed relative path for jython.jar, replaced with a def
   which developer must edit

Added README
 - overviews the i2psam.jar building process

Added build.bat
 - an attempt at a build script which might work on Windows, for people
   who don't have 'make' installed
2004-04-11 07:21:28 +00:00
aum
e3a86bb150 code.leo is an xml-format file that holds the I2P SAM server and
client sources in a dissected XML form.

If you're working on I2P SAM, we strongly encourage you to install
the Leo editor (http://leo.sf.net), and use it to edit the
sources. Otherwise, we're stuck with the menial task of re-importing
your changes into the Leo tree. Thanks for your understanding and
co-operation.
2004-04-10 08:21:01 +00:00
aum
0ac1e885bd Description of what lives here and how to build it 2004-04-10 08:18:42 +00:00
aum
36aca1d39b i2psamclient.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.
2004-04-10 08:16:18 +00:00
aum
d0192b4cab Implements the I2P SAM server, in Jython (www.jython.org) 2004-04-10 08:12:22 +00:00
aum
a3a7a585d7 Added Makefile for building i2p SAM server jarfile 2004-04-10 08:11:24 +00:00