Package com.slack.api.rate_limits.queue
Class RateLimitQueue<SUPPLIER,MSG extends QueueMessage>
java.lang.Object
com.slack.api.rate_limits.queue.RateLimitQueue<SUPPLIER,MSG>
- Direct Known Subclasses:
AsyncRateLimitQueue,AsyncRateLimitQueue,AsyncRateLimitQueue,AsyncRateLimitQueue
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract MSGbuildNewMessage(String messageId, long epochMillisToRun, WaitTime waitTime, SUPPLIER methodsSupplier) voidenqueue(String messageId, String teamId, String methodName, Map<String, String> params, SUPPLIER methodsSupplier) getCurrentActiveQueueSize(String methodNameWithSuffix) protected LinkedBlockingQueue<MSG>getOrCreateActiveQueue(String methodName) protected abstract RateLimitervoid
-
Field Details
-
methodNameToActiveQueue
protected final ConcurrentMap<String,LinkedBlockingQueue<MSG extends QueueMessage>> methodNameToActiveQueue
-
-
Constructor Details
-
RateLimitQueue
public RateLimitQueue()
-
-
Method Details
-
getRateLimiter
-
getOrCreateActiveQueue
-
dequeueIfReady
-
buildNewMessage
-
enqueue
public void enqueue(String messageId, String teamId, String methodName, Map<String, String> params, SUPPLIER methodsSupplier) throws InterruptedException- Throws:
InterruptedException
-
remove
-
getCurrentActiveQueueSize
-