fs2.data.cbor

package fs2.data.cbor

Members list

Packages

High-level representation and tools for CBOR data streams.

High-level representation and tools for CBOR data streams.

The high-level representation is less powerful as the low-level one, as it builds structured data. For instance it is not able to represent arrays of strings whose size is bigger than Int.MaxValue.

The reprensentation is intended to be easier to work with if you need more structured data and don't exceed the underlying limits.

Attributes

Low-level representation and tools for CBOR data streams.

Low-level representation and tools for CBOR data streams.

The low-level representation has two main goals: - it is a flat representation of the input stream, which allows for expressing collections that exceed the max size of Int.MaxValue

  • it doesn't interpret numbers, keeping their raw representation in memory.

This representation is useful when dealing with streams that may contain big collections or when it is not necessary to build an AST, as it is more efficient than the high-level one.

The data model follows closely the structure described in the RFC.

Attributes

Type members

Classlikes

sealed abstract class CborException(msg: String, inner: Throwable) extends Exception

Attributes

Source
CborException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Known subtypes
class CborParsingException(msg: String, inner: Throwable) extends CborException

Attributes

Source
CborException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Source
CborException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Source
CborException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object Diagnostic

Useful for debugging, generates a stream of diagnostic strings representing the CBOR values in the input stream as defined in [section 8 of RFC8949](https://www.rfc-editor.org/rfc/rfc8949.html#name-diagnostic-notation).

Useful for debugging, generates a stream of diagnostic strings representing the CBOR values in the input stream as defined in [section 8 of RFC8949](https://www.rfc-editor.org/rfc/rfc8949.html#name-diagnostic-notation).

Attributes

Source
Diagnostic.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Diagnostic.type
object HalfFloat

HalfFloat represents 16-bit floating-point values.

HalfFloat represents 16-bit floating-point values.

This type does not actually support arithmetic directly. The expected use case is to convert to Float to perform any actual arithmetic, then convert back to a HalfFloat if needed.

Binary representation:

sign (1 bit) | | exponent (5 bits) | | | | mantissa (10 bits) | | | x xxxxx xxxxxxxxxx

Value interpretation (in order of precedence, with _ wild):

0 00000 0000000000 (positive) zero 1 00000 0000000000 negative zero _ 00000 subnormal number _ 11111 0000000000 +/- infinity _ 11111 not-a-number _ _ normal number

For non-zero exponents, the mantissa has an implied leading 1 bit, so 10 bits of data provide 11 bits of precision for normal numbers.

Attributes

Source
HalfFloat.scala
Supertypes
class Object
trait Matchable
class Any
Self type
HalfFloat.type
object Tags

Contains the definition of tags described in section 2.4 of the RFC

Contains the definition of tags described in section 2.4 of the RFC

Attributes

Source
Tags.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Tags.type

Value members

Concrete methods

def debugDiagnostic[F[_]](logger: String => Unit)(implicit F: RaiseThrowable[F]): (F, CborItem) => Nothing

A debugging Pipe, useful to use in conjunction with observe.

A debugging Pipe, useful to use in conjunction with observe.

bytes.through(items).observe(debugDiagnostic()).compile.toList

Attributes

Source
package.scala
def diagnostic[F[_]](implicit F: RaiseThrowable[F]): (F, CborItem) => String

Useful for debugging, generates a stream of diagnostic strings representing the CBOR values in the input stream as defined in [section 8 of RFC8949](https://www.rfc-editor.org/rfc/rfc8949.html#name-diagnostic-notation).

Useful for debugging, generates a stream of diagnostic strings representing the CBOR values in the input stream as defined in [section 8 of RFC8949](https://www.rfc-editor.org/rfc/rfc8949.html#name-diagnostic-notation).

Attributes

Source
package.scala