parseExtensionsTop function

List<TlsExtension> parseExtensionsTop(
  1. QuicBuffer buffer
)

Implementation

List<TlsExtension> parseExtensionsTop(QuicBuffer buffer) {
  if (buffer.remaining < 2) return [];
  final totalExtLen = buffer.pullUint16();
  final extensions = <TlsExtension>[];
  int extensionsRead = 0;

  while (extensionsRead < totalExtLen && buffer.remaining > 0) {
    final extType = buffer.pullUint16();
    final extLen = buffer.pullUint16();
    final extData = buffer.pullBytes(extLen);

    extensions.add(TlsExtension(type: extType, length: extLen, data: extData));

    extensionsRead += 4 + extLen;
  }

  return extensions;
}