Packages

p

akka

util

package util

Content Hierarchy
Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package ccompat

    INTERNAL API

    INTERNAL API

    Based on https://github.com/scala/scala-collection-compat/blob/master/compat/src/main/scala-2.13/scala/collection/compat/package.scala but reproduced here so we don't need to add a dependency on this library. It contains much more than we need right now, and is not promising binary compatibility yet at the time of writing.

Type Members

  1. class BoundedBlockingQueue[E <: AnyRef] extends AbstractQueue[E] with BlockingQueue[E]

    BoundedBlockingQueue wraps any Queue and turns the result into a BlockingQueue with a limited capacity.

  2. abstract class ByteIterator extends BufferedIterator[Byte]

    An iterator over a ByteString.

  3. sealed abstract class ByteString extends IndexedSeq[Byte] with IndexedSeqOps[Byte, IndexedSeq, ByteString] with StrictOptimizedSeqOps[Byte, IndexedSeq, ByteString]

    A rope-like immutable data structure containing bytes.

    A rope-like immutable data structure containing bytes. The goal of this structure is to reduce copying of arrays when concatenating and slicing sequences of bytes, and also providing a thread safe way of working with bytes.

    TODO: Add performance characteristics

  4. final class ByteStringBuilder extends Builder[Byte, ByteString]

    A mutable builder for efficiently creating a akka.util.ByteString.

    A mutable builder for efficiently creating a akka.util.ByteString.

    The created ByteString is not automatically compacted.

  5. class ClassLoaderObjectInputStream extends ObjectInputStream

    ClassLoaderObjectInputStream tries to utilize the provided ClassLoader to load Classes and falls back to ObjectInputStreams resolver.

  6. sealed abstract class CompactByteString extends ByteString with Serializable

    A compact ByteString.

    A compact ByteString.

    The ByteString is guarantied to be contiguous in memory and to use only as much memory as required for its contents.

  7. class ConcurrentMultiMap[K, V] extends Index[K, V]

    An implementation of a ConcurrentMultiMap Adds/remove is serialized over the specified key Reads are fully concurrent <-- el-cheapo

  8. class Index[K, V] extends AnyRef

    An implementation of a ConcurrentMultiMap Adds/remove is serialized over the specified key Reads are fully concurrent <-- el-cheapo

  9. final class ManifestInfo extends Extension

    Utility that extracts ManifestInfo#Version information from META-INF/MANIFEST.MF in jar files on the classpath.

    Utility that extracts ManifestInfo#Version information from META-INF/MANIFEST.MF in jar files on the classpath. Note that versions can only be found in ordinary jar files, for example not in "fat jars' assembled from many jar files.

  10. final class MessageBuffer extends AnyRef

    A non thread safe mutable message buffer that can be used to buffer messages inside actors.

  11. final class MessageBufferMap[I] extends AnyRef

    A non thread safe mutable message buffer map that can be used to buffer messages inside actors.

    A non thread safe mutable message buffer map that can be used to buffer messages inside actors.

    I

    (Id type)

  12. final class NanoTimeTokenBucket extends TokenBucket

    Default implementation of TokenBucket that uses System.nanoTime as the time source.

  13. trait PriorityQueueStabilizer[E <: AnyRef] extends AbstractQueue[E]

    PriorityQueueStabilizer wraps a priority queue so that it respects FIFO for elements of equal priority.

  14. final class ReentrantGuard extends ReentrantLock
  15. class StablePriorityBlockingQueue[E <: AnyRef] extends AbstractQueue[E] with PriorityQueueStabilizer[E]

    StablePriorityBlockingQueue is a blocking priority queue that preserves order for elements of equal priority.

  16. class StablePriorityQueue[E <: AnyRef] extends AbstractQueue[E] with PriorityQueueStabilizer[E]

    StablePriorityQueue is a priority queue that preserves order for elements of equal priority.

  17. trait Subclassification[K] extends AnyRef

    Typeclass which describes a classification hierarchy.

    Typeclass which describes a classification hierarchy. Observe the contract between isEqual and isSubclass!

  18. class Switch extends AnyRef

    An atomic switch that can be either on or off

  19. case class Timeout(duration: FiniteDuration) extends Product with Serializable
    Annotations
    @SerialVersionUID()
  20. class TypedMultiMap[T <: AnyRef, K[_ <: T]] extends AnyRef

    An immutable multi-map that expresses the value type as a type function of the key type.

    An immutable multi-map that expresses the value type as a type function of the key type. Create it with a type constructor that expresses the relationship:

    trait Key { type Type = T }
    case class MyValue[T](...)
    
    // type function from Key to MyValue
    type KV[K <: Key] = MyValue[K#Type]
    
    val map = TypedMultiMap.empty[Key, KV]
    
    // a plain Int => String map would use this function:
    type plain[K <: Int] = String
    
    // a map T => T would use this function:
    type identity[T <: AnyRef] = T

    Caveat: using keys which take type parameters does not work due to conflicts with the existential interpretation of Key[_]. A workaround is to define a key type like above and provide a subtype that provides its type parameter as type member Type.

  21. class UUIDComparator extends Comparator[UUID]

    Scala implementation of UUIDComparator in https://github.com/cowtowncoder/java-uuid-generator Apache License 2.0.

  22. final class Unsafe extends AnyRef

    INTERNAL API

    INTERNAL API

    Annotations
    @InternalApi()
  23. final class Version extends Comparable[Version]

    Comparable version information.

    Comparable version information.

    The typical convention is to use 3 digit version numbers major.minor.patch, but 1 or two digits are also supported.

    If no . is used it is interpreted as a single digit version number or as plain alphanumeric if it couldn't be parsed as a number.

    It may also have a qualifier at the end for 2 or 3 digit version numbers such as "1.2-RC1". For 1 digit with qualifier, 1-RC1, it is interpreted as plain alphanumeric.

    It has support for https://github.com/dwijnand/sbt-dynver format with + or - separator. The number of commits from the tag is handled as a numeric part. For example 1.0.0+3-73475dce26 is less than 1.0.10+10-ed316bd024 (3 < 10).

  24. trait WallClock extends AnyRef

    A time source.

    A time source.

    Annotations
    @ApiMayChange()

Value Members

  1. object BoxedType
  2. object ByteIterator
  3. object ByteString
  4. object CompactByteString extends Serializable
  5. object HashCode

    Set of methods which allow easy implementation of hashCode.

    Set of methods which allow easy implementation of hashCode.

    Example:

     override def hashCode: Int = {
       var result = HashCode.SEED
       //collect the contributions of various fields
       result = HashCode.hash(result, fPrimitive)
       result = HashCode.hash(result, fObject)
       result = HashCode.hash(result, fArray)
       result
     }
    

  6. object Helpers
  7. object LineNumbers

    This is a minimized byte-code parser that concentrates exclusively on line numbers and source file extraction.

    This is a minimized byte-code parser that concentrates exclusively on line numbers and source file extraction. It works for all normal classes up to format 52:0 (JDK8), and it also works for Lambdas that are Serializable. The latter restriction is due to the fact that the proxy object generated by LambdaMetafactory otherwise contains no information about which method backs this particular lambda (and there might be multiple defined within a single class).

  8. object ManifestInfo extends ExtensionId[ManifestInfo] with ExtensionIdProvider

    Akka extension that extracts ManifestInfo.Version information from META-INF/MANIFEST.MF in jar files on the classpath of the ClassLoader of the ActorSystem.

  9. object MessageBuffer
  10. object PriorityQueueStabilizer
  11. object Timeout extends Serializable

    A Timeout is a wrapper on top of Duration to be more specific about what the duration means.

  12. object TypedMultiMap
  13. object UUIDComparator
  14. object Version
  15. object WallClock

Ungrouped