I2CP: I2CPMessageHandlerMap cleanup

This commit is contained in:
zzz
2020-02-09 16:14:49 +00:00
parent 0478ac75e9
commit a46100bde5
2 changed files with 10 additions and 18 deletions

View File

@ -28,24 +28,18 @@ import net.i2p.data.i2cp.SetDateMessage;
*/ */
class I2PClientMessageHandlerMap { class I2PClientMessageHandlerMap {
/** map of message type id --> I2CPMessageHandler */ /** map of message type id --> I2CPMessageHandler */
protected I2CPMessageHandler _handlers[]; protected final I2CPMessageHandler _handlers[];
/** for extension */ /** for extension */
public I2PClientMessageHandlerMap() {} protected I2PClientMessageHandlerMap(int highest) {
_handlers = new I2CPMessageHandler[highest+1];
}
public I2PClientMessageHandlerMap(I2PAppContext context) { public I2PClientMessageHandlerMap(I2PAppContext context) {
int highest = DisconnectMessage.MESSAGE_TYPE; // 39 = highest type expected from router
highest = Math.max(highest, SessionStatusMessage.MESSAGE_TYPE); // http://i2p-projekt.i2p/spec/i2cp#message-types
highest = Math.max(highest, RequestLeaseSetMessage.MESSAGE_TYPE); this(HostReplyMessage.MESSAGE_TYPE);
highest = Math.max(highest, MessagePayloadMessage.MESSAGE_TYPE);
highest = Math.max(highest, MessageStatusMessage.MESSAGE_TYPE);
highest = Math.max(highest, SetDateMessage.MESSAGE_TYPE);
highest = Math.max(highest, DestReplyMessage.MESSAGE_TYPE);
highest = Math.max(highest, HostReplyMessage.MESSAGE_TYPE);
highest = Math.max(highest, BandwidthLimitsMessage.MESSAGE_TYPE);
highest = Math.max(highest, RequestVariableLeaseSetMessage.MESSAGE_TYPE);
_handlers = new I2CPMessageHandler[highest+1];
_handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context); _handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context);
_handlers[SessionStatusMessage.MESSAGE_TYPE] = new SessionStatusMessageHandler(context); _handlers[SessionStatusMessage.MESSAGE_TYPE] = new SessionStatusMessageHandler(context);
_handlers[RequestLeaseSetMessage.MESSAGE_TYPE] = new RequestLeaseSetMessageHandler(context); _handlers[RequestLeaseSetMessage.MESSAGE_TYPE] = new RequestLeaseSetMessageHandler(context);

View File

@ -168,11 +168,9 @@ public class I2PSimpleSession extends I2PSessionImpl2 {
*/ */
private static class SimpleMessageHandlerMap extends I2PClientMessageHandlerMap { private static class SimpleMessageHandlerMap extends I2PClientMessageHandlerMap {
public SimpleMessageHandlerMap(I2PAppContext context) { public SimpleMessageHandlerMap(I2PAppContext context) {
int highest = Math.max(DestReplyMessage.MESSAGE_TYPE, BandwidthLimitsMessage.MESSAGE_TYPE); // 39 = highest type expected from router
highest = Math.max(highest, DisconnectMessage.MESSAGE_TYPE); // http://i2p-projekt.i2p/spec/i2cp#message-types
highest = Math.max(highest, HostReplyMessage.MESSAGE_TYPE); super(HostReplyMessage.MESSAGE_TYPE);
highest = Math.max(highest, SetDateMessage.MESSAGE_TYPE);
_handlers = new I2CPMessageHandler[highest+1];
_handlers[DestReplyMessage.MESSAGE_TYPE] = new DestReplyMessageHandler(context); _handlers[DestReplyMessage.MESSAGE_TYPE] = new DestReplyMessageHandler(context);
_handlers[BandwidthLimitsMessage.MESSAGE_TYPE] = new BWLimitsMessageHandler(context); _handlers[BandwidthLimitsMessage.MESSAGE_TYPE] = new BWLimitsMessageHandler(context);
_handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context); _handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context);