random_access_source 3.0.0 copy "random_access_source: ^3.0.0" to clipboard
random_access_source: ^3.0.0 copied to clipboard

A shared interface for common random access data.

random_access_source #

pub package Build Status

A shared interface for common random access data.

Usage #

This library defines a common interface for random access data.

/// Base class for random access sources.
abstract class RandomAccessSource {
  /// Gets the length of the source.
  Future<int> length();

  /// Reads a byte from the source.
  Future<int> readByte();

  /// Reads an array of bytes from the source.
  Future<Uint8List> read(int count);

  /// Gets the current position in the source.
  Future<int> position();

  /// Sets the current position in the source.
  Future<void> seek(int position);

  /// Reads all the remaining bytes from the source.
  Future<Uint8List> readToEnd();

  /// Skips a number of bytes in the source.
  /// Returns the number of bytes actually skipped.
  Future<int> skip(int count);

  /// Reads a specific number of bytes, ensuring that the exact number is read.
  /// Throws an exception if the number of bytes read is not equal to [length].
  Future<Uint8List> mustRead(int length);

  /// Skips a specific number of bytes, ensuring that the exact number is skipped.
  /// Throws an exception if the number of bytes skipped is not equal to [length].
  Future<void> mustSkip(int length);

  /// Closes the source.
  Future<void> close();
}

Implementations:

  • BytesRASource for Uint8List.
  • FileRASource for RandomAccessFile.
0
likes
150
points
1.1k
downloads

Publisher

verified publisherflutter-cavalry.com

Weekly Downloads

A shared interface for common random access data.

Repository (GitHub)

Documentation

API reference

License

BSD-3-Clause (license)

More

Packages that depend on random_access_source