Locality File

A Dart package for managing file uploads, tracking transfer progress, and syncing media states across the network using pub/sub architecture.

Features

Pub/Sub File Management: Coordinate media uploads via topic-based channels (MediaPubSub).

Progress Tracking: Monitor and communicate byte-level transfer progress in real-time.

Observer Pattern: React to upload lifecycle events (start, fail, finish, byteProgress).

Usage

import 'package:locality_core/locality_core.dart';
import 'package:locality_file/locality_file.dart';

void main() async {
final mediaPubSub = MediaPubSub("media-topic");
await LocalitySocialCloud.supervise(pubSub: mediaPubSub);

final adapter = mediaPubSub.makeUpload("photo.jpg", metadata: {"size": 1000});

adapter.start(byteSize: 1024);
adapter.setByteTransferProgress(1024);
adapter.setFinished("https://example.com/photo.jpg");
}