forked from I2P_Developers/i2p.i2p
I2CP Multisession Work in progress:
Fix NPE in requestLeaseSet() Fix setting new session ID in SessionStatusMessage Fix subsession support detection Streaming: one socket manager, multiple connection managers. Change data structure for subessions in socket manager Subsession cleanup on destroy I2PTunnel: add DSA subsession for non-DSA shared client Javadocs
This commit is contained in:
@ -267,6 +267,7 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
|
||||
}
|
||||
_routerSupportsFastReceive = _context.isRouterContext();
|
||||
_routerSupportsHostLookup = _context.isRouterContext();
|
||||
_routerSupportsSubsessions = _context.isRouterContext();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -338,7 +339,10 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
|
||||
if (id != null)
|
||||
_subsessionMap.remove(id);
|
||||
/// tell the subsession
|
||||
///....
|
||||
try {
|
||||
// doesn't really throw
|
||||
session.destroySession();
|
||||
} catch (I2PSessionException ise) {}
|
||||
}
|
||||
}
|
||||
|
||||
@ -893,7 +897,7 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
|
||||
synchronized (_subsessionLock) {
|
||||
for (SubSession sess : _subsessions) {
|
||||
if (sess.getSessionId() == null) {
|
||||
sub.messageReceived(reader, message);
|
||||
sess.messageReceived(reader, message);
|
||||
id = sess.getSessionId();
|
||||
if (id != null) {
|
||||
if (id.equals(_sessionId)) {
|
||||
|
Reference in New Issue
Block a user