public LeakyBucketStreamThrottler(final int maxBytesPerSecond) { this.maxBytesPerSecond = maxBytesPerSecond; executorService = Executors.newSingleThreadScheduledExecutor(); final Runnable task = new Drain(); executorService.scheduleAtFixedRate(task, 0, 1000, TimeUnit.MILLISECONDS); }
final int bytesCopied = fillBuffer(in, maxBytesToTransfer); out.write(buffer, 0, bytesCopied);
final int bytesCopied = fillBuffer(in, maxBytesToTransfer); out.write(buffer, 0, bytesCopied);
public LeakyBucketStreamThrottler(final int maxBytesPerSecond) { this.maxBytesPerSecond = maxBytesPerSecond; executorService = Executors.newSingleThreadScheduledExecutor(); final Runnable task = new Drain(); executorService.scheduleAtFixedRate(task, 0, 1000, TimeUnit.MILLISECONDS); }