Simple rate calculator for periodically sampled data points - determining an
average value over a period, the number of events in that period, the maximum number
of events (using the interval between events), and lifetime data.
Read the header, then read the rest into buffer, then call
readMessage in the implemented message type
Specifically:
1 byte type (if caller didn't read already, as specified by the type param
4 byte ID
8 byte expiration
2 byte size
1 byte checksum
size bytes of payload (read by readMessage() in implementation)
Pool of running threads which will process any read bytes on any of the
NTCPConnections, including the decryption of the data read, connection
handshaking, parsing bytes into I2NP messages, etc.
Read a newline delimited line from the stream, returning the line (without
the newline), or null if EOF reached before the newline was found
Warning - strips \n but not \r
Warning - 8KB line length limit as of 0.7.13, @throws IOException if exceeded
Read the body into the data structures, after the initial type byte and
the uniqueId / expiration, using the current class's format as defined by
the I2NP specification
Receive a test message of some sort from the given peer, queueing up any packet
that should be sent in response, or if its a reply to our own current testing,
adjusting our test state.
Receive the raw preprocessed message at the endpoint, parsing out each
of the fragments, using those to fill various FragmentedMessages, and
sending the resulting I2NPMessages where necessary.
Render the stats as determined by the specified JRobin xml config,
but note that this doesn't work on stock jvms, as it requires
DOM level 3 load and store support.
this is for oldconsole.jsp, pretty much unused except as a way to get memory info,
so let's comment out the rest, it is available elsewhere, and we don't really
want to spend a minute rendering a multi-megabyte page in memory.
Instruct the router that the message received was abusive (including how
abusive on a 1-100 scale) in the hopes the router can do something to
minimize receiving abusive messages like that in the future.
At 10 seconds, we were receiving about 20% of replies after expiration
Todo: make this variable on a per-request basis, to account for tunnel length,
expl.
Moved from RouterConsoleRunner.java
Reseeding is not strictly a router function, it used to be
in the routerconsole app, but this made it impossible to
bootstrap an embedded router lacking a routerconsole,
in iMule or android for example, without additional modifications.
Run the client on the given port number pointing at the specified destination
(either the base64 of the destination or file:fileNameContainingDestination).
Generate a new keypair
Sets the event "privateKey" = base64 of the privateKey stream and
sets the event "publicDestination" = base64 of the destination
Run the HTTP server pointing at the host and port specified using the private i2p
destination loaded from the specified file, replacing the HTTP headers
so that the Host: specified is the one spoofed.
Run the HTTP server pointing at the host and port specified using the private i2p
destination loaded from the specified file, replacing the HTTP headers
so that the Host: specified is the one spoofed.
Specify the hostname / IP address of the interface that the tunnels should bind to
Sets the event "listen_onResult" = "ok" or "error" after the interface has been specified
Specify whether to use its own destination for each outgoing tunnel
Sets the event "owndestResult" = "ok" or "error" after the configuration has been specified
Specify the read timeout going to be used for newly-created I2PSockets
Sets the event "read_timeoutResult" = "ok" or "error" after the interface has been specified