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");
}