package net.i2p.client.impl; /* * free (adj.): unencumbered; not under the control of others * Released into the public domain * with no warranty of any kind, either expressed or implied. * It probably won't make your computer catch on fire, or eat * your children, but it might. Use at your own risk. * */ import net.i2p.I2PAppContext; import net.i2p.data.LeaseSet; import net.i2p.data.i2cp.I2CPMessage; import net.i2p.data.i2cp.RequestVariableLeaseSetMessage; import net.i2p.util.Log; /** * Handle I2CP RequestVariableLeaseSetMessage from the router by granting all leases, * retaining the individual expiration time for each lease. * * @since 0.9.7 */ class RequestVariableLeaseSetMessageHandler extends RequestLeaseSetMessageHandler { public RequestVariableLeaseSetMessageHandler(I2PAppContext context) { super(context, RequestVariableLeaseSetMessage.MESSAGE_TYPE); } @Override public void handleMessage(I2CPMessage message, I2PSessionImpl session) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Handle message " + message); RequestVariableLeaseSetMessage msg = (RequestVariableLeaseSetMessage) message; LeaseSet leaseSet = new LeaseSet(); for (int i = 0; i < msg.getEndpoints(); i++) { leaseSet.addLease(msg.getEndpoint(i)); } signLeaseSet(leaseSet, session); } }