Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package github
    Definition Classes
    io
  • package andrebeat
    Definition Classes
    github
  • package pool

    This library provides classes for dealing with object pooling that allow:

    This library provides classes for dealing with object pooling that allow:

    • blocking/non-blocking object acquisition
    • object invalidation
    • capping the number of pooled objects
    • creating new objects lazily, as needed
    • health checking
    • time-based pool eviction (idle instances)
    • GC-based pool eviction (soft and weak references)
    • efficient thread-safety

    Overview

    In order create a new io.github.andrebeat.pool.Pool the constructor method should be used like so

    scala> val pool = Pool(4, () => new Object)
    pool: io.github.andrebeat.pool.SimplePool[Object] = _
    scala> val lease = pool.acquire()
    lease: io.github.andrebeat.pool.Lease[Object] = _
    scala> lease.release()

    Additionally, in order to avoid manually releasing the lease after its used, you can use the use method on the lease:

    scala> val pool = Pool(4, () => new Object)
    pool: io.github.andrebeat.pool.SimplePool[Object] = _
    scala> val lease = pool.acquire()
    lease: io.github.andrebeat.pool.Lease[Object] = _
    scala> lease(println) // the lease is released automatically after its used
    java.lang.Object@7970d6d
    Definition Classes
    andrebeat
  • class SimplePool[A <: AnyRef] extends ArrayBlockingQueuePool[A]

    A simple object pool that creates the objects as needed until a maximum number of objects has been created.

    A simple object pool that creates the objects as needed until a maximum number of objects has been created.

    Definition Classes
    pool
  • Item
  • SimpleItem

final class SimpleItem extends Item

Attributes
protected
Linear Supertypes
SimplePool.Item, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SimpleItem
  2. Item
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SimpleItem(a: Ref[A])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. def consume(): Unit

    This method is called whenever the item is consumed from the queue.

    This method is called whenever the item is consumed from the queue.

    Definition Classes
    SimpleItemItem
  7. def destroy(): Unit

    This method is only called whenever using a Soft/Weak reference that was invalidated by the garbage collector.

    This method is only called whenever using a Soft/Weak reference that was invalidated by the garbage collector. Whenever this method is called it is considered that the value is consumed.

    Definition Classes
    Item
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def get(): A

    This method should only be called from this class and it is guaranteed that the value is always defined before calling.

    This method should only be called from this class and it is guaranteed that the value is always defined before calling. Whenever this method is called it is considered that the value is consumed.

    Definition Classes
    Item
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def isDefined(): Boolean
    Definition Classes
    Item
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. def offerSuccess(): Unit

    This method is called whenever the item is successfully inserted in the queue.

    This method is called whenever the item is successfully inserted in the queue.

    Definition Classes
    SimpleItemItem
  20. val r: Ref[A]
    Definition Classes
    Item
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from SimplePool.Item

Inherited from AnyRef

Inherited from Any

Ungrouped