fromBytes static method

Pdu fromBytes(
  1. Uint8List bytes
)

Parses a list of bytes into a Pdu object

Implementation

static Pdu fromBytes(Uint8List bytes) {
  var sequence = ASN1Sequence.fromBytes(bytes);
  assert(sequence.tag > 159 && sequence.tag < 169); // PDU tags
  PduType? type;
  int? requestId;
  PduError? error;
  int? errorIndex;
  List<Varbind>? varbinds;
  type = PduType._internal(sequence.tag);
  requestId = (sequence.elements[0] as ASN1Integer).intValue;
  error = PduError.fromInt((sequence.elements[1] as ASN1Integer).intValue);
  errorIndex = (sequence.elements[2] as ASN1Integer).intValue;
  varbinds = [];
  for (var v in (sequence.elements[3] as ASN1Sequence).elements) {
    varbinds.add(Varbind.fromBytes(v.encodedBytes));
  }
  return Pdu(type, requestId, varbinds, error: error, errorIndex: errorIndex);
}