captureEvent static method
void
captureEvent({
- required String connectionId,
- required WebSocketEventType type,
- dynamic data,
- String? error,
Capture WebSocket event
Implementation
static void captureEvent({
required String connectionId,
required WebSocketEventType type,
dynamic data,
String? error,
}) {
if (!_enabled) return;
final event = WebSocketEvent(
id: DateTime.now().microsecondsSinceEpoch.toString(),
connectionId: connectionId,
type: type,
data: data,
timestamp: DateTime.now(),
error: error,
);
final currentEvents = List<WebSocketEvent>.from(_allEvents.value);
currentEvents.add(event);
_trimAllEventsList(currentEvents);
// Defer update to avoid setState during build phase
Future.microtask(() {
_allEvents.value = currentEvents;
});
final currentConnections = Map<String, WebSocketConnection>.from(_connections.value);
final connection = currentConnections[connectionId];
if (connection != null) {
connection.addEvent(event);
_trimConnectionEvents(connection);
// Defer update to avoid setState during build phase
Future.microtask(() {
_connections.value = currentConnections;
});
}
}