package org.torrent.internal.peer.connection; import java.io.IOException; import org.torrent.internal.protocol.message.BittorrentMessage; import org.torrent.internal.util.Validator; public class PendingRequestsHoldingSender extends AbstractPendingRequestsHolder implements BTMessageSender { private final BTMessageSender sender; public PendingRequestsHoldingSender(BTMessageSender sender) { Validator.notNull(sender, "Sender is null!"); this.sender = sender; } @Override public void send(BittorrentMessage msg, BTMessageSenderCallback callback) { handleMessage(msg); sender.send(msg, callback); } @Override public void close() throws IOException { sender.close(); } @Override public boolean hasNoPending() { return sender.hasNoPending(); } }