Example usage for com.google.common.util.concurrent RateLimiter tryAcquire

List of usage examples for com.google.common.util.concurrent RateLimiter tryAcquire

Introduction

In this page you can find the example usage for com.google.common.util.concurrent RateLimiter tryAcquire.

Prototype

public boolean tryAcquire(int permits) 

Source Link

Document

Acquires permits from this RateLimiter if it can be acquired immediately without delay.

Usage

From source file:com.pinterest.pinlater.QueueRateLimiter.java

public static IFace create(double maxRequestsPerSecond) {
    if (maxRequestsPerSecond <= 0.0) {
        return ALLOW_NONE;
    }/*  www . j ava2s .  c om*/

    final RateLimiter rateLimiter = RateLimiter.create(maxRequestsPerSecond);
    return new IFace() {
        @Override
        public boolean allowDequeue(int numJobs) {
            return rateLimiter.tryAcquire(numJobs);
        }

        @Override
        public double getRate() {
            return rateLimiter.getRate();
        }
    };
}