package freenet.node; /** * A SendableRequest may include many SendableRequestItem's. * Typically for requests, these are just an integer indicating which key * to fetch. But for inserts, these will often include the actual data to * insert, or some means of getting it without access to the database. * @author Matthew Toseland <toad@amphibian.dyndns.org> (0xE43DA450) */ public interface SendableRequestItem { /** Called when a request is abandoned. Whether this is called on * a successful request is up to the SendableRequestSender. */ public void dump(); /** Get a lightweight object for tracking which SendableRequestItem's * are queued. This will usually be "return this", but if creating your * SendableRequest is expensive, you may want to define a separate key * type (especially for transient inserts). */ public SendableRequestItemKey getKey(); }