peer_coordinator 0.3.1 copy "peer_coordinator: ^0.3.1" to clipboard
peer_coordinator: ^0.3.1 copied to clipboard

Transport-neutral peer coordination: election, membership, heartbeat and synchronised data streams over a pluggable backend. Pure Dart, web-safe.

example/lib/main.dart

/// A chat app built on `peer_coordinator`.
///
/// Nodes join a named room through a WebSocket hub, elect a coordinator
/// between themselves, and exchange lines over the user-message channel. See
/// `lib/src/chat/chat_session.dart` for how the messages actually travel, and
/// README.md for how to run the hub.
library;

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:peer_coordinator/peer_coordinator.dart';

import 'src/ui/connect_page.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  // peer_coordinator logs through package:logging. Its default printer emits
  // ANSI colour, which the Flutter console renders as noise, so print plainly.
  Log.useColors = false;
  Logger.root.level = kDebugMode ? Level.INFO : Level.WARNING;
  Logger.root.onRecord.listen((record) {
    debugPrint(
      '[${record.level.name}] ${record.loggerName}: ${record.message}',
    );
  });

  runApp(const ChatApp());
}

class ChatApp extends StatelessWidget {
  const ChatApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'peer_coordinator chat',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.teal),
        useMaterial3: true,
      ),
      darkTheme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          seedColor: Colors.teal,
          brightness: Brightness.dark,
        ),
        useMaterial3: true,
      ),
      home: const ConnectPage(),
    );
  }
}
0
likes
160
points
54
downloads

Documentation

API reference

Publisher

verified publisherzeyus.com

Weekly Downloads

Transport-neutral peer coordination: election, membership, heartbeat and synchronised data streams over a pluggable backend. Pure Dart, web-safe.

Homepage
Repository (GitHub)
View/report issues
Contributing

License

MIT (license)

Dependencies

collection, crypto, fast_immutable_collections, logging, meta, synchronized, test, uuid, web_socket_channel

More

Packages that depend on peer_coordinator