fs2.interop.reactivestreams
Implementation of the reactivestreams protocol for fs2
- See also:
- Example:
scala> import fs2._ scala> import fs2.interop.reactivestreams._ scala> import cats.effect.{IO, Resource}, cats.effect.unsafe.implicits.global scala> scala> val upstream: Stream[IO, Int] = Stream(1, 2, 3).covary[IO] scala> val publisher: Resource[IO, StreamUnicastPublisher[IO, Int]] = upstream.toUnicastPublisher scala> val downstream: Stream[IO, Int] = Stream.resource(publisher).flatMap(_.toStreamBuffered[IO](bufferSize = 16)) scala> scala> downstream.compile.toVector.unsafeRunSync() res0: Vector[Int] = Vector(1, 2, 3)
Type members
Classlikes
Implementation of a org.reactivestreams.Subscriber.
Implementation of a org.reactivestreams.Subscriber.
This is used to obtain a fs2.Stream from an upstream reactivestreams system.
- See also:
- Companion:
- object
Implementation of a org.reactivestreams.Publisher
Implementation of a org.reactivestreams.Publisher
This is used to publish elements from a fs2.Stream to a downstream reactivestreams system.
- See also:
- Companion:
- object
Value members
Concrete methods
Creates a lazy stream from an org.reactivestreams.Publisher.
Creates a lazy stream from an org.reactivestreams.Publisher.
The publisher only receives a subscriber when the stream is run.
- Value parameters:
- bufferSize
setup the number of elements asked each time from the
org.reactivestreams.Publisher. A high number can be useful if the publisher is triggering from IO, like requesting elements from a database. The publisher can use thisbufferSizeto query elements in batch. A high number will also lead to more elements in memory.
Deprecated methods
Creates a lazy stream from an org.reactivestreams.Publisher.
Creates a lazy stream from an org.reactivestreams.Publisher.
The publisher only receives a subscriber when the stream is run.
- Deprecated