{-| Module : Net.DNSBase.Encode.Metric Description : Length-tracking Builder for wire-form encoding Copyright : (c) Viktor Dukhovni, 2026 License : BSD-3-Clause Maintainer : ietf-dane@dukhovni.org Stability : unstable 'SizedBuilder' is a 'Data.ByteString.Builder' paired with its byte length, accumulated as the builder is assembled. Used inside RR-data encoders when an outer length-prefixed field needs the encoded value's length up front (RDLENGTH and the 16-bit length prefixes that introduce SVCB option values, EDNS option values, and similar). The @mb*@ converters wrap the corresponding low-level builders so their byte-cost is tracked. -} module Net.DNSBase.Encode.Metric ( SizedBuilder -- exported pattern , pattern SizedBuilder -- exported converters , mbErr , mbWord8 , mbWord16 , mbWord32 , mbWord64 , mbByteString , mbByteStringLen8 , mbByteStringLen16 , mbShortByteString , mbShortByteStringLen8 , mbShortByteStringLen16 , mbIPv4 , mbIPv6 ) where import Net.DNSBase.Encode.Internal.Metric