scodec.stream

Type members

Classlikes

case object BuildInfo

This object was generated by sbt-buildinfo.

This object was generated by sbt-buildinfo.

final case class CodecError(err: Err) extends Exception with NoStackTrace

Lifts an scodec.Err in to an exception.

Lifts an scodec.Err in to an exception.

final class StreamDecoder[+A]

Supports binary decoding of a stream that emits elements as they are decoded.

Supports binary decoding of a stream that emits elements as they are decoded.

The main purpose of using a StreamDecoder over an scodec.Decoder is mixing decoding with processing. For example, scodec.codecs.vector(decoderA): Decoder[Vector[A]] could be used to decode a bit stream but the decoded Vector[A] would not be emitted until the end of the bit stream. With StreamDecoder.many(decoderA): StreamDecoder[A], each decoded A value is emitted as soon as it is decoded.

The StreamDecoder companion has various constructors -- most importantly, once and many, that allow a Decoder[A] to be lifted to a StreamDecoder[A].

Given a StreamDecoder[A], a bit stream can be decoded via the decode method or by calling a variant of toPipe.

Companion
object
Companion
class
final class StreamEncoder[A]

A streaming encoding process, represented as a Stream[Pure, A] => Pull[Pure, BitVector, Option[(Stream[Pure, A], StreamEncoder[A])]].

A streaming encoding process, represented as a Stream[Pure, A] => Pull[Pure, BitVector, Option[(Stream[Pure, A], StreamEncoder[A])]].

Companion
object
Companion
class