A blocking queue that have size limits on both number of elements and number of bytes.
A simple doubly linked list util to allow O(1) remove.
Simple doubly LinkedList node
Simple doubly LinkedList node
The type of element
A file lock a la flock/funlock
A file lock a la flock/funlock
The given path will be created and opened if it doesn't exist.
Transliteration of the iterator template in google collections.
Transliteration of the iterator template in google collections. To implement an iterator override makeNext and call allDone() when there is no more items
A scheduler based on java.util.concurrent.ScheduledThreadPoolExecutor
A scheduler based on java.util.concurrent.ScheduledThreadPoolExecutor
It has a pool of kafka-scheduler- threads that do the actual work.
Provides extension methods for NetworkClient
that are useful for implementing blocking behaviour.
Provides extension methods for NetworkClient
that are useful for implementing blocking behaviour. Use with care.
Example usage:
val networkClient: NetworkClient = ... import NetworkClientBlockingOps._ networkClient.blockingReady(...)
A scheduler for running jobs
A scheduler for running jobs
This interface controls a job scheduler that allows scheduling either repeating background jobs that execute periodically or delayed one-time actions that are scheduled in the future.
A class to measure and throttle the rate of some process.
A class to measure and throttle the rate of some process. The throttler takes a desired rate-per-second (the units of the process don't matter, it could be bytes or a count of some other thing), and will sleep for an appropriate amount of time when maybeThrottle() is called to attain the desired rate.
A mockable interface for time functions
Creates an ephemeral znode checking the session owner in the case of conflict.
Creates an ephemeral znode checking the session owner in the case of conflict. In the regular case, the znode is created and the create call returns OK. If the call receives a node exists event, then it checks if the session matches. If it does, then it returns OK, and otherwise it fails the operation.
Indicates that the annotated class is immutable
Indicates that the annotated class is not threadsafe
Indicates that the annotated class is meant to be threadsafe.
Indicates that the annotated class is meant to be threadsafe. For an abstract class it is an part of the interface that an implementation must respect
Helper functions for dealing with command line utilities
General helper functions!
General helper functions!
This is for general helper functions that aren't specific to Kafka logic. Things that should have been included in the standard library etc.
If you are making a new helper function and want to add it to this class please ensure the following: 1. It has documentation 2. It is the most general possible utility, not just the thing you needed in one particular place 3. You have tests for it if it is nontrivial in any way
A wrapper that synchronizes JSON in scala, which is not threadsafe.
If mx4j-tools is in the classpath call maybeLoad to load the HTTP interface of mx4j.
If mx4j-tools is in the classpath call maybeLoad to load the HTTP interface of mx4j.
The default port is 8082. To override that provide e.g. -Dmx4jport=8083 The default listen address is 0.0.0.0. To override that provide -Dmx4jaddress=127.0.0.1 This feature must be enabled with -Dmx4jenable=true
This is a Scala port of org.apache.cassandra.utils.Mx4jTool written by Ran Tavory for CASSANDRA-1068
The normal system implementation of time functions
Some common constants
A simple doubly linked list util to allow O(1) remove.
type of element in nodes