package com.limegroup.gnutella.filters.response; import org.limewire.io.IpPort; import com.google.inject.Inject; import com.google.inject.Singleton; import com.limegroup.gnutella.Response; import com.limegroup.gnutella.filters.IPFilter; import com.limegroup.gnutella.messages.QueryReply; /** * A filter that disallows responses with alt-locs that are blocked by the * IP filter. */ @Singleton public class AltLocFilter implements ResponseFilter { private final IPFilter ipFilter; @Inject AltLocFilter(IPFilter ipFilter) { this.ipFilter = ipFilter; } public boolean allow(QueryReply qr, Response response) { for(IpPort alt : response.getLocations()) { if(!ipFilter.allow(alt.getInetAddress().getAddress())) return false; } return true; } }