jrandom
ae0b4c59cc
include the port # in the thread name, and logging
2004-06-20 00:07:37 +00:00
jrandom
0a8dc8afcc
logging, its whats for dinner
2004-06-20 00:06:33 +00:00
jrandom
d59b94df66
logging, deal with times when a client doesnt have a destination yet
2004-06-20 00:05:30 +00:00
jrandom
e28502454b
include the port in the thread name (useful for the sim)
2004-06-20 00:03:45 +00:00
jrandom
bbf73f0937
enforce some sanity checks on the payload size. see recent rant in DatabaseSearchReplyMessage commit for why
...
this is necessary.
2004-06-19 23:58:24 +00:00
jrandom
592519c45c
somehow some people are getting situations where the payload doesnt decompress. wtf?
...
do i need to wrap the Input/Output streams we use to pipe data over the net with a verification wrapper for the messages?
e.g. prefix the serialization of all I2NPMessages sent on the wire with the SHA256 of that serialization and verify on read?
Ho hum, dunno. maybe its something else, but the ElG/AES+SessionTag already has integrity verification so the only thing I can
think of is a checksum error that got past TCP's checking and corrupted the AES stream.
2004-06-19 23:56:41 +00:00
jrandom
cc904ba9dc
use new SessionConfig constructor
2004-06-19 23:46:08 +00:00
jrandom
1679ba6719
so this String.getBytes(), its inefficient? you don't say...
...
(yeah, i know, this optimization takes advantage of the fact that the data in question uses single byte charsets)
2004-06-19 23:41:55 +00:00
jrandom
07fadd4a6c
avoid string.getBytes like the plague
2004-06-19 23:40:03 +00:00
jrandom
57e1ff39e0
new method: cachedXor which, suprisingly, determines the xor of a hash against another hash, caching up to a certain number of values
...
currently uses an essentially random ejection policy, but this saves a lot of temporarly memory churn, since we xor many hashes against a router/destination's key
2004-06-19 23:35:43 +00:00
jrandom
51e259c198
avoiding the String.getBytes() since its a bitch on gc (measured for this situation)
2004-06-19 23:32:41 +00:00
jrandom
de334b003d
for safety, always create a session config with a destination
2004-06-19 23:30:57 +00:00
jrandom
a61ff12390
more microoptimizations, whee!
2004-06-19 23:28:12 +00:00
jrandom
f4697be159
just a simple catch all for OOM while handling an OOM (naw, we dont recurse too much (just a little))
2004-06-19 23:25:47 +00:00
jrandom
3835fe3960
give the shutdown hook thread a name
2004-06-19 23:13:09 +00:00
jrandom
76c374ef06
more accurate memory usage to reduce gc churn
2004-06-19 23:11:42 +00:00
jrandom
57d24bd948
read the logger.config when its been updated, even if we dont have any log messages to write out (duh)
...
also, a micro-optimization for charset handling identified through profiling
2004-06-19 23:02:59 +00:00
jrandom
deff14dfd8
lets see if this fixes bug 66 ( http://dev.i2p.net/bugzilla/show_bug.cgi?id=66 )
2004-06-13 20:27:44 +00:00
jrandom
0a479be370
include NAME=val in failed lookup replies (per spec - thanks nightblade)
...
fixes http://dev.i2p.net/bugzilla/show_bug.cgi?id=79
2004-06-13 20:19:16 +00:00
jrandom
ba6a2e3fd2
unit test for the bandwidth limiting functionality (TrivialBandwidthLimiter, BandwidthLimiter, BandwidthLimited{In,Out}putStream)
2004-06-13 20:03:21 +00:00
jrandom
c3a395a41e
update the bandwidth limiter config properties
2004-06-13 19:59:44 +00:00
jrandom
a3136a19e9
big ol' rewrite, requiring new config settings and, er, it works pretty well.
...
see router.config.template mods and the new unit tests.
this implementation can cause starvation -
e.g. lots of 1KB writes will go through before a 32KB write if the queue is low and the bwlimiter only replenishes say, 16KBps
another impl would enforce a FIFO through thread wait/notify, etc, but would have the related overhead.
i dont know whether starvation situations will be the norm or the exception. i'm running this on a few routers so we'll see.
2004-06-13 19:56:57 +00:00
jrandom
b631568003
deal with null routers
2004-06-13 19:48:23 +00:00
jrandom
1d0c03eca4
use the router context's properties (which now include the config settings)
2004-06-13 19:47:44 +00:00
jrandom
eb30525a26
deal with null routers (useful for testing)
2004-06-13 19:47:02 +00:00
jrandom
3e66ea3f56
include the router's config in the property settings
2004-06-13 19:45:53 +00:00
jrandom
9f1189e606
use a bandwidth limited stream instead of asking for the allocation of the entire buffer at once (since, uh, its not likely that the bandwidth limiter will ever have hundreds of KBytes available for use)
2004-06-13 19:39:42 +00:00
jrandom
698927bed4
logging
2004-06-13 19:37:18 +00:00
jrandom
8fd02ee8dd
allow the stream to optionally pull from the output stream's bandwidth limit queue (useful in very strange situations)
2004-06-13 19:36:41 +00:00
jrandom
f3154e8f5e
buffer between the bandwidth limiter and the raw stream
2004-06-13 19:34:46 +00:00
jrandom
878af163a9
handle null boolean value (legal, but not in this context), fixes bug reported by nickster
2004-06-13 19:32:58 +00:00
jrandom
da8341d014
reduced buffer size and updated domain name reference (dev.i2p.net, not i2p.dyndns.net)
2004-06-13 19:31:22 +00:00
jrandom
95c33e88ed
handle decompress error by propogating the IOE (thanks nickster for bug report)
2004-06-13 19:30:31 +00:00
jrandom
fed8369a5f
big rewrite of how we load the native implementation:
...
- the old method is default: it looks for jbigi.dll / libjbigi.so in the current dir (and library path)
- otherwise, you can specify -Djbigi.impl=blah and if there is a file called "blah" in the classpath (including any jar file), it will load that file as a native implementation
there are lots more javadocs now as well, and the dependency upon Log was removed (so anyone else who wants to use this just needs NativeBigInteger.java and the jbigi implementation)
2004-06-12 20:08:32 +00:00
duck
d85806e3d5
added ferret.i2p
...
(duck)
2004-06-09 20:06:17 +00:00
duck
097660ce53
Round-robin DNS NTP pool makes sense as default
...
Discussed at http://www.i2p.net/node/view/226 (thanks Nightblade)
(duck)
2004-06-09 14:30:26 +00:00
duck
b08cfbbb35
we now have a website & eepproxy is launched automatically
...
(duck)
2004-06-09 14:27:51 +00:00
duck
97ee3c47a0
added anonynanny.i2p
...
(duck)
2004-06-01 16:57:09 +00:00
duck
05918de6ab
fix bug #75
...
the databuffer is reused so it might contain junk, therefore only use the
available amount of bytes
(duck)
2004-05-26 12:25:04 +00:00
jrandom
8d7abd8298
added hypercubus.i2p
2004-05-24 12:53:41 +00:00
brianr
727f4c3bb5
Another rfc2068 fix.
...
ERR_REQUEST_DENIED now returns a 403 status code. Note that I'm assuming
this error occurs because the proxy is configured to not allow connection
to non-i2p destinations. If it's issued for other reasons we might want
to consider using 503 instead.
2004-05-24 07:28:24 +00:00
brianr
7372ad0cc4
A few changes to make proxy return the proper rfc2068 status codes
...
instead of 404 for everything.
ERR_DESTINATION_UNKNOWN now returns 503 instead of 404 with a slightly
more clear error message.
ERR_TIMEOUT now returns 504 gateway timeout.
2004-05-24 07:08:02 +00:00
shendaras
ca6884dbca
imports (sorry, includes alphabetizing, wee)
...
(shendaras)
2004-05-24 03:21:21 +00:00
jrandom
1ebb0ac5fb
0.3.1.4 (backwards compatible)
...
i'll package & push later this evening
i2p_0_3_1_4
2004-05-23 16:54:29 +00:00
jrandom
bf0e53f13b
i'll swallow your soul!
...
er... make it queue up to 20 messages (in case of bursts), and do some more verbose logging
2004-05-23 16:52:56 +00:00
jrandom
8888a960c0
logging
2004-05-23 16:51:30 +00:00
jrandom
04be41aac5
if the send queue to the peer is too large, fail the message but also mark it as a comm error (since either their net con is insanely saturated, or disconnected)
...
logging
2004-05-22 12:05:34 +00:00
jrandom
fd1313d49f
bugger the speed estimate - always use the measured values, and if there aren't enough measured values, use 0.
2004-05-22 12:03:38 +00:00
jrandom
3599dba5c3
javadoc
2004-05-22 12:02:51 +00:00
jrandom
67edc437d2
properly !LART on comm error, and initialize the log correctly
2004-05-22 12:02:18 +00:00