Transport metadata inline.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / filter / RateLimitingFilter.java
index 881deeb..609eb69 100644 (file)
@@ -20,6 +20,9 @@ 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;
 
 /**
@@ -29,7 +32,7 @@ import net.pterodactylus.sonitus.data.Metadata;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-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 +84,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 {