package com.limegroup.gnutella.io; /** * Outline of a Throttle. */ public interface Throttle { /** * Interests this listener in receiving a bandwidthAvailable callback. */ public void interest(ThrottleListener writer); /** * Requests some data for writing from this Throttle. */ public int request(); /** * Releases some unwritten requested data back to the throttle. */ public void release(int amount); /** * Sets a new limit in bytes/sec. */ public void limit(int amount); }