fromBytes static method

MXResponseRecord fromBytes({
  1. required String name,
  2. required int ttl,
  3. required Uint8List bytes,
  4. required int offset,
  5. required int length,
})

Implementation

static MXResponseRecord fromBytes({
    required String name,
    required int ttl,
    required Uint8List bytes,
    required int offset,
    required int length }) {

    if (length < 3 || offset + length > bytes.length) {
        throw FormatException('Invalid MX record: insufficient length.');
    }

    // Leer los dos bytes de preferencia (16 bits)
    final int preference = (bytes[offset] << 8) | bytes[offset + 1];

    // Leer el nombre de host
    final (_, exchange) = DNSHelper.parseDomainName(bytes, offset + 2);

    return MXResponseRecord(
        name: name,
        ttl: ttl,
        preference: preference,
        exchange: exchange);
}