length method

  1. @override
Future<ResourceTry<int>> length()

Returns data length from metadata if available, or calculated from reading the bytes otherwise.

This value must be treated as a hint, as it might not reflect the actual bytes length. To get the real length, you need to read the whole resource.

Implementation

@override
Future<ResourceTry<int>> length() async {
  int? originalLength =
      (await resource.link()).properties.encryption?.originalLength;
  return originalLength != null
      ? Future.value(ResourceTry.success(originalLength))
      : super.length();
}