Defines a certificate that can be attached to various I2P structures, such
as RouterIdentity and Destination, allowing routers and clients to help
manage denial of service attacks and the network utilization.
Async writer class so that if a client app hangs, they wont take down the
whole router with them (since otherwise the JobQueue would block until
the client reads from their i2cp socket, causing all sorts of bad shit to
happen)
Determine if we have received a session key associated with the given session tag,
and if so, discard it (but keep track for frequent dups) and return the decryption
key it was received with (via tagsReceived(...)).
Determine if we have received a session key associated with the given session tag,
and if so, discard it (but keep track for frequent dups) and return the decryption
key it was received with (via tagsReceived(...)).
Send a series of searches to the next available peers as selected by
the routing table, but making sure no more than SEARCH_BREDTH are outstanding
at any time
Create a new destination with the default certificate creation properties and store
it, along with the private encryption and signing keys at the specified location
Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the
same payload (including expiration and unique id) in different garlics (down different tunnels)
Create a socket manager using the destination loaded from the given private key
stream and connected to the I2CP router on the specified machine on the given
port
Place the asymmetrically encrypted record in the specified record slot,
containing the hop's configuration (as well as the reply info, if it is an outbound endpoint)
Create a new client session for the Destination stored at the destKeyStream
using the specified options to both connect to the router, to instruct
the router how to handle the new session, and to configure the end to end
encryption.