Take note of the fact that the given sessionTags associated with the key for
encryption to the target have definitely been received at the target (aka call this
method after receiving an ack to a message delivering them)
Simple interface for events to be queued up and notified on expiration
the time requested has been reached (this call should NOT block,
otherwise the whole SimpleTimer gets backed up)
Returns the String "id@address" where id is the base64 encoded id
and address is the base64 dest (was the base64 hash of the dest) which
should match what the bytemonsoon tracker reports on its web pages.
Do the simplest thing possible for preprocessing - for each message available,
turn it into the minimum number of fragmented preprocessed blocks, sending
each of those out.
Use the same outbound tunnel as we did for the same destination previously,
if possible, to keep the streaming lib happy
Use two caches - although a cache of a list of tunnels per dest might be
more elegant.
Defines the message sent between routers as part of the tunnel delivery
The tunnel ID is changed in-place by TunnelParticipant.send(), so
we can't reuse the checksum on output, but we still subclass
FastI2NPMessageImpl so we don't verify the checksum on input...