livelocd 0.1.0

A simple Axum plugin for real-time location tracking via WebSockets and JSON API.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use once_cell::sync::Lazy;
use std::collections::HashMap;
use std::sync::RwLock;
use tokio::sync::broadcast;
use serde_json::Value;

/// In-memory user data: user_id → arbitrary JSON payload
pub static LOCATION_MAP: Lazy<RwLock<HashMap<String, Value>>> = Lazy::new(|| {
    RwLock::new(HashMap::new())
});

/// Broadcast channel to publish updates to all subscribers
pub static LOCATION_BROADCAST: Lazy<broadcast::Sender<(String, Value)>> = Lazy::new(|| {
    broadcast::channel(1024).0
});