publishDone property
bool
get
publishDone
completes when all relays have responded or timed out first string is the relay url, second is the response
Implementation
bool get publishDone {
// If no relays were registered and the engine closed the controller, it's done
if (broadcasts.isEmpty) {
return networkController.isClosed;
}
// Check if all relays have responded (success or failure)
final allResponded = broadcasts.values.every(
(element) => element.okReceived || element.msg.isNotEmpty,
);
if (allResponded) {
return true;
}
final doneCount = broadcasts.values
.where((element) => element.okReceived)
.length
.toDouble();
final totalCount = broadcasts.length.toDouble();
return doneCount / totalCount >= considerDonePercent;
}