X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FRateLimitingFilter.java;h=ff1a2f2b9f72dee8233f32aebd9801a40e5a1600;hb=eacf380129e247dd03f7d054d67e34cb43658959;hp=881deebb1c2aeea15ad8b61e43e7dc4c0779f1ad;hpb=70ea21939e6071954eeb05f2a42e7a92a02013f2;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java b/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java index 881deeb..ff1a2f2 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java @@ -20,16 +20,18 @@ package net.pterodactylus.sonitus.data.filter; import java.io.IOException; import java.util.logging.Logger; +import net.pterodactylus.sonitus.data.AbstractFilter; +import net.pterodactylus.sonitus.data.DataPacket; +import net.pterodactylus.sonitus.data.Filter; import net.pterodactylus.sonitus.data.Metadata; /** * Rate limiting filter that only passes a specified amount of data per second - * from its {@link net.pterodactylus.sonitus.data.Source} to its {@link - * net.pterodactylus.sonitus.data.Sink}. + * from its source to its sinks. * * @author David ‘Bombe’ Roden */ -public class RateLimitingFilter extends BasicFilter { +public class RateLimitingFilter extends AbstractFilter implements Filter { /** The logger. */ private static final Logger logger = Logger.getLogger(RateLimitingFilter.class.getName()); @@ -81,10 +83,10 @@ public class RateLimitingFilter extends BasicFilter { } @Override - public void process(byte[] buffer) throws IOException { - super.process(buffer); + public void process(DataPacket dataPacket) throws IOException { + super.process(dataPacket); /* delay. */ - counter += buffer.length; + counter += dataPacket.buffer().length; long waitTime = (long) (counter / (rate / 1000.0)); while ((System.currentTimeMillis() - startTime) < waitTime) { try {