parser property

  1. @override
BleResponseParser<BulkBytesChunk> get parser
override

Implementation

@override
BleResponseParser<BulkBytesChunk> get parser =>
    EnvelopeBleResponseParser<BulkBytesChunk>(
      (responseEnvelope) {
        final response = responseEnvelope.responseArgs;
        final errors = _toIntList(responseEnvelope.errors);

        if (response == null || response.isEmpty) {
          return BulkBytesChunk(
            sequenceId: sequenceId,
            bytes: Uint8List(0),
            checksum: 0,
            nextExpectedAckId: null,
            errorCodes: errors,
          );
        }

        return BulkBytesChunk(
          sequenceId: _toInt(response.elementAtOrNull(2)) ?? sequenceId,
          bytes: _toBytes(response.elementAtOrNull(0)),
          checksum: _toInt(response.elementAtOrNull(1)) ?? 0,
          nextExpectedAckId: _toInt(response.elementAtOrNull(3)),
          errorCodes: errors,
        );
      },
    );