fs2-core

Members list

Concise view

Packages

package fs2
package fs2.compat

Provides several concurrency primitives. *

Provides several concurrency primitives. *

Attributes

Implementation of the reactive-streams protocol for fs2; based on Java Flow.

Implementation of the reactive-streams protocol for fs2; based on Java Flow.

Attributes

See also:

java.util.concurrent.Flow

Example:
scala> import cats.effect.{IO, Resource}
scala> import fs2.Stream
scala> import fs2.interop.flow.syntax._
scala> import java.util.concurrent.Flow.Publisher
scala>
scala> val upstream: Stream[IO, Int] = Stream(1, 2, 3).covary[IO]
scala> val publisher: Resource[IO, Publisher[Int]] = upstream.toPublisher
scala> val downstream: Stream[IO, Int] = Stream.resource(publisher).flatMap { publisher =>
    |   publisher.toStream[IO](chunkSize = 16)
    | }
scala>
scala> import cats.effect.unsafe.implicits.global
scala> downstream.compile.toVector.unsafeRunSync()
res0: Vector[Int] = Vector(1, 2, 3)