CborDecoder

interface CborDecoder(source)

This interface provides access to the current Cbor instance, so it can be properly taken into account in a custom serializer. For example, a custom serializer can decode CBOR data wrapped into a byte array using Cbor.decodeFromByteArray as required by some COSE structures. The actual CBOR Decoder used during deserialization implements this interface, so it is possible to cast the decoder passed to KSerializer.deserialize to CborDecoder when implementing such low-level serializers, to access configuration properties:

override fun deserialize(decoder: Decoder): AlgorithmParameters {
if(decoder is CborDecoder){
val useDefiniteLengthEncoding = (decoder as CborDecoder).cbor.configuration.writeDefiniteLengths
// Do CBOR-specific low-level stuff
}
}

Properties

Link copied to clipboard
abstract val cbor: Cbor

Exposes the current Cbor instance and all its configuration flags. Useful for low-level custom serializers.