26 lines
666 B
Dart
26 lines
666 B
Dart
import 'dart:isolate';
|
|
import 'dart:math';
|
|
import 'package:waylume_server/services/vpn_session_service.dart';
|
|
|
|
void initVpnSessionMonitor() {
|
|
// Run this on a separate thread
|
|
Isolate.spawn((_) async {
|
|
|
|
// To avoid server deadlock, add random delay
|
|
await Future.delayed(Duration(seconds: Random().nextInt(10)));
|
|
|
|
print('VPN Session Monitor started');
|
|
|
|
while (true) {
|
|
try {
|
|
await VpnSessionService.detectSessions();
|
|
} catch (e) {
|
|
print('Error in VPN session monitor: $e');
|
|
}
|
|
|
|
// Check for sessions every 60 seconds
|
|
await Future.delayed(Duration(seconds: 60));
|
|
}
|
|
|
|
}, null);
|
|
} |