Packages

o

org.http4s.server.jetty

JettyThreadPools

object JettyThreadPools

Source
JettyThreadPools.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JettyThreadPools
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def default[F[_]](implicit F: Async[F]): Resource[F, ThreadPool]

    The default org.eclipse.jetty.util.thread.ThreadPool used by JettyBuilder.

    The default org.eclipse.jetty.util.thread.ThreadPool used by JettyBuilder. If you require specific constraints on this (a certain number of threads, etc.) please use #resource and take a look at the concrete implementations of org.eclipse.jetty.util.thread.ThreadPool provided by Jetty.

  2. def resource[F[_]](value: F[ThreadPool])(implicit F: Async[F]): Resource[F, ThreadPool]

    Create a resource for a Jetty org.eclipse.jetty.util.thread.ThreadPool.

    Create a resource for a Jetty org.eclipse.jetty.util.thread.ThreadPool. It will be "shutdown" when the resource is closed.

    Jetty org.eclipse.jetty.util.thread.ThreadPool have some rather unusual properties. org.eclipse.jetty.util.thread.ThreadPool itself does not implement any of the standard JVM or Jetty lifecycle systems, e.g. java.lang.Closeable or org.eclipse.jetty.util.component.LifeCycle, but all the concrete implementations of it provided by Jetty do implement org.eclipse.jetty.util.component.LifeCycle.

    The cats.effect.Resource implemented here will use the org.eclipse.jetty.util.component.LifeCycle shutdown semantics if the underlying org.eclipse.jetty.util.thread.ThreadPool implements that interface. Otherwise it will invoke org.eclipse.jetty.util.thread.ThreadPool#join on shutdown, making startup a no-op.

    Note

    It is expected and important that the org.eclipse.jetty.util.thread.ThreadPool provided to this function has not been started. If it has and it implements org.eclipse.jetty.util.component.LifeCycle, then the creation of the cats.effect.Resource will fail.