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 {
/** map of message type id --> I2CPMessageHandler */
protected I2CPMessageHandler _handlers[];
protected final I2CPMessageHandler _handlers[];
/** for extension */
public I2PClientMessageHandlerMap() {}
protected I2PClientMessageHandlerMap(int highest) {
_handlers = new I2CPMessageHandler[highest+1];
}
public I2PClientMessageHandlerMap(I2PAppContext context) {
int highest = DisconnectMessage.MESSAGE_TYPE;
highest = Math.max(highest, SessionStatusMessage.MESSAGE_TYPE);
highest = Math.max(highest, RequestLeaseSetMessage.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);
// 39 = highest type expected from router
// http://i2p-projekt.i2p/spec/i2cp#message-types
this(HostReplyMessage.MESSAGE_TYPE);
_handlers = new I2CPMessageHandler[highest+1];
_handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context);
_handlers[SessionStatusMessage.MESSAGE_TYPE] = new SessionStatusMessageHandler(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 {
public SimpleMessageHandlerMap(I2PAppContext context) {
int highest = Math.max(DestReplyMessage.MESSAGE_TYPE, BandwidthLimitsMessage.MESSAGE_TYPE);
highest = Math.max(highest, DisconnectMessage.MESSAGE_TYPE);
highest = Math.max(highest, HostReplyMessage.MESSAGE_TYPE);
highest = Math.max(highest, SetDateMessage.MESSAGE_TYPE);
_handlers = new I2CPMessageHandler[highest+1];
// 39 = highest type expected from router
// http://i2p-projekt.i2p/spec/i2cp#message-types
super(HostReplyMessage.MESSAGE_TYPE);
_handlers[DestReplyMessage.MESSAGE_TYPE] = new DestReplyMessageHandler(context);
_handlers[BandwidthLimitsMessage.MESSAGE_TYPE] = new BWLimitsMessageHandler(context);
_handlers[DisconnectMessage.MESSAGE_TYPE] = new DisconnectMessageHandler(context);