Packages that use I2PSessionImpl
Package
Description
Internal implementation of the I2P client SDK - the client side of the Invisible Internet Client Protocol (I2CP), separating implementation from the interfaces in
net.i2p.client.Uses of I2PSessionImpl in net.i2p.client.impl
Subclasses of I2PSessionImpl in net.i2p.client.implModifier and TypeClassDescription(package private) classThread safe implementation of an I2P session running over TCP.(package private) classI2PSession with protocol and portsclassCreate a new session for doing naming and bandwidth queries only.(package private) classAn additional session using another session's connection.Methods in net.i2p.client.impl with parameters of type I2PSessionImplModifier and TypeMethodDescriptionvoidI2CPMessageProducer.connect(I2PSessionImpl session) Send all the messages that a client needs to send to a router to establish a new session.voidI2CPMessageProducer.createLeaseSet(I2PSessionImpl session, LeaseSet leaseSet, SigningPrivateKey signingPriv, List<PrivateKey> privs) In response to a RequestLeaseSet Message from the router, send a CreateLeaseset Message back to the router.voidI2CPMessageProducer.disconnect(I2PSessionImpl session) Send a message to the router destroying the session, which could be a subsession.voidBWLimitsMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) voidDestReplyMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) voidDisconnectMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) voidHostReplyMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.voidI2CPMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an I2CP message.voidMessagePayloadMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.voidMessageStatusMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.voidRequestLeaseSetMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.protected voidRequestLeaseSetMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session, int attempt) Handle an incoming I2CP message, tracking how many prompt re-runs a transient signing failure has already scheduled for this request.protected voidRequestVariableLeaseSetMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session, int attempt) Handle an incoming I2CP message, tracking how many prompt re-runs a transient signing failure has already scheduled for this request.voidSessionStatusMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.voidSetDateMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session) Handle an incoming I2CP message.voidI2CPMessageProducer.reportAbuse(I2PSessionImpl session, int msgId, int severity) Send an abuse message to the router.protected booleanRequestLeaseSetMessageHandler.requiresLS2(I2PSessionImpl session) Do we send a LeaseSet or a LeaseSet2? As of 0.9.69, always use LS2 unless the router doesn't support it(package private) voidRequestLeaseSetMessageHandler.scheduleSignRetry(I2CPMessage message, I2PSessionImpl session, int attempt) Schedule a prompt re-run of a request whose signing failed transiently.voidI2CPMessageProducer.sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, long expires, int flags) Package up and send the payload to the router for delivery.voidI2CPMessageProducer.sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, SendMessageOptions options) Package up and send the payload to the router for delivery.voidI2CPMessageProducer.sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, SessionTag tag, SessionKey key, Set<SessionTag> tags, SessionKey newKey, long expires) Package up and send the payload to the router for delivery.protected booleanRequestLeaseSetMessageHandler.signLeaseSet(LeaseSet leaseSet, boolean isLS2, I2PSessionImpl session) Finish creating and signing the new LeaseSet and submitting it to the router.protected booleanRequestLeaseSetMessageHandler.signLeaseSet(LeaseSet leaseSet, boolean isLS2, I2PSessionImpl session, I2CPMessage message, int attempt) Finish creating and signing the new LeaseSet and submitting it to the router, with the originating request attached so a transient signing failure can schedule a prompt re-run instead of leaving the router to wait out its 60-second check timeout.voidI2CPMessageProducer.updateBandwidth(I2PSessionImpl session) Update bandwidth limits from session options.voidI2CPMessageProducer.updateTunnels(I2PSessionImpl session, int tunnels) Update number of tunnels.Constructors in net.i2p.client.impl with parameters of type I2PSessionImplModifierConstructorDescriptionClientWriterRunner(OutputStream out, I2PSessionImpl session) Create the writer for a session, buffering I2CP messages queued for output to that session.protectedI2PSessionImpl(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension by SubSession via I2PSessionMuxedImpl and I2PSessionImpl2.protectedI2PSessionImpl2(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension by SubSession via I2PSessionMuxedImplprotectedI2PSessionMuxedImpl(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension by SubSession.SessionIdleTimer(I2PAppContext context, I2PSessionImpl session, boolean reduce, boolean shutdown) Construct a timer that reduces, shuts down, or both.