sizeHint method

  1. @override
int sizeHint(
  1. RuntimeMetadataPrefixed value
)
override

If possible give a hint of expected size of the encoding.

This method is used inside default implementation of encode to avoid re-allocations.

Implementation

@override
int sizeHint(RuntimeMetadataPrefixed value) {
  var size = 0;
  size += U32Codec.codec.sizeHint(value.magicNumber);
  size += 1; // version byte

  switch (value.metadata) {
    case final RuntimeMetadataV14 v14:
      size += RuntimeMetadataV14.codec.sizeHint(v14);

    case final RuntimeMetadataV15 v15:
      size += RuntimeMetadataV15.codec.sizeHint(v15);
  }

  return size;
}