com.stackmob.newman.caching

InMemoryHttpResponseCacher

class InMemoryHttpResponseCacher extends HttpResponseCacher

an

HttpResponseCacher

that does caching in-memory, and evicts based on Least-Recently-Used HttpResponseCacher }}}

Linear Supertypes
HttpResponseCacher, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. InMemoryHttpResponseCacher
  2. HttpResponseCacher
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new InMemoryHttpResponseCacher(maxCapacity: Int, initialCapacity: Int, timeToLive: Duration, timeToIdle: Duration, foldingMutex: AsyncMutex = ...)(implicit ctx: ExecutionContext)

    maxCapacity

    the maximum capacity of the cache

    initialCapacity

    the starting capacity of the cache. must be <

    maxCapacity
    timeToLive

    the maximum time an element is allowed to live in the cache

    timeToIdle

    the maximum time an element is allowed to live in the cache untouched

    foldingMutex

    the AsyncMutex used to asynchronously enclose the fold operation in a critical section

    ctx

    the execution context used to set elements into the cache

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apply(req: HttpRequest)(async: ⇒ Future[HttpResponse]): Future[HttpResponse]

    get the response future from the cache, or execute the request, put its response future into the cache, and return it.

    get the response future from the cache, or execute the request, put its response future into the cache, and return it.

    req

    the request whose corresponding response to look for in the cache

    async

    fallback behavior that is triggered during a cache miss. result is cached.

    returns

    the response, wrapped in a future. the future will be completed when the request finishes, regardless of whether it was cached

    Definition Classes
    InMemoryHttpResponseCacherHttpResponseCacher
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def fold(req: HttpRequest, cacheHit: (Future[HttpResponse]) ⇒ Future[HttpResponse], cacheMiss: ⇒ Future[HttpResponse]): Future[HttpResponse]

    get the given request from the cache.

    get the given request from the cache. execute cacheHit if it was found, or cacheMiss if not

    req

    the request to get

    cacheHit

    the function to execute if there was a cache hit. the cache will be replaced by the returned future.

    cacheMiss

    the function to execute if there was a cache miss. the cache will be replaced by the returned future.

    returns

    the response, wrapped in a future. if there was a cache hit, the future will be completed when the future returned by cacheHit does. if there was a cache miss, the future will be completed when the future returned by cacheMiss does.

    Definition Classes
    InMemoryHttpResponseCacherHttpResponseCacher
  13. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  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
  18. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  20. def toString(): String

    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from HttpResponseCacher

Inherited from AnyRef

Inherited from Any

Ungrouped