All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scodec.codecs.ZlibCodec.scala Maven / Gradle / Ivy

There is a newer version: 1.10.3
Show newest version
package scodec
package codecs

import scodec.bits.BitVector

private[scodec] class ZlibCodec[A](codec: Codec[A], level: Int, strategy: Int, nowrap: Boolean, chunkSize: Int) extends Codec[A] {

  def sizeBound = SizeBound.unknown

  def encode(a: A) =
    codec.encode(a).map { b =>
      b.deflate(level, strategy, nowrap, chunkSize)
    }

  def decode(b: BitVector) =
    b.bytes.inflate(chunkSize).fold(
      e => Attempt.failure(Err(e.getMessage)),
      bb => codec.decode(bb.bits)
    )
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy