zzz 7967653dd1 * DataStructures:
- Shim in 3 new abstract classes
        SimpleDataStructure, KeysAndCert, and DatabaseEntry

===========

Right now, everything in net.i2p.data extends DataStructureImpl.


There are several goals for adding some intermediate abstract classes,
between DataStructureImpl and the concrete classes:


1) Merge common code
2) Make the simple cases (a single byte array) more efficient
   by adding a common base class.
   I'm calling this one SimpleDataStructure.
3) Make a common base class for Destination and RouterIdentity
   since they are almost exactly the same thing.
   Consolidate the getters/setters and hash functions here.
   I'm calling this one KeysAndCert.
4) Make a common base class for LeaseSet and RouterInfo so
   so netDb and I2NP can handle them easier, without doing
   "instanceof" all over the place.
   Consolidate the hash, signature, and routing key functions here.
   I'm calling this one DatabaseEntry.
5) Make it easier to add more object caching.


The additional classes are retrofit
above many of the data types:


DataStructureImpl (unchanged)
-------------------
	ByteArray
	Certificate
	Lease
	Payload
	RouterAddress
	TunnelId


	SimpleDataStructure (new)
	-------------------------
		Hash
		PrivateKey
		PublicKey
		SessionKey
		SessionTag (was ByteArray)
		Signature
		SigningPrivateKey
		SigningPublicKey


	KeysAndCert (new)
	-----------------
		Destination
		RouterIdentity


	DatabaseEntry (new)
	-------------------
		LeaseSet
		RouterInfo
2010-11-14 14:09:58 +00:00
2010-11-14 14:09:58 +00:00
2010-11-01 22:08:05 +00:00
2010-01-26 19:49:21 +00:00
2009-09-16 14:51:39 +00:00

Prerequisites to build from source:
	Java SDK (preferably Sun) 1.5.0 or higher (1.6 recommended)
	The SDK must have Pack200 support (java.util.jar.Pack200)
	Apache Ant 1.7.0 or higher
	Optional, For multilanguage support: The xgettext, msgfmt, and msgmerge tools installed
	from the GNU gettext package http://www.gnu.org/software/gettext/

To build:
	ant pkg
	Run 'ant' with no arguments to see other build options.
	See INSTALL.txt or http://www.i2p2.de/download.html for installation instructions.

Documentation:
	http://www.i2p2.de/
	API: run 'ant javadoc' then start at build/javadoc/index.html

Latest release:
	http://www.i2p2.de/download.html

To get development branch from source control:
	http://www.i2p2.de/newdevelopers.html

FAQ:
	http://www.i2p2.de/faq.html

Need help?
	IRC irc.freenode.net #i2p
	http://forum.i2p2.de/

Licenses:
	See LICENSE.txt

Description
The I2P anonymous network, Java Implementation
Readme 502 MiB
Languages
Java 86.9%
CSS 4.7%
HTML 4.1%
Shell 1.1%
JavaScript 1.1%
Other 1.9%