revoke method
Bars one node for the rest of this epoch, and disconnects it now.
For the case the session as a whole should continue: one participant withdraws, or misbehaves, and must not be able to rejoin.
Implementation
Future<void> revoke(String nodeUId, {String reason = 'revoked'}) async {
_revoked.add(nodeUId);
final live = _connections.values
.where((c) => c.nodeUId == nodeUId)
.toList(growable: false);
for (final connection in live) {
await _drop(connection, HubCloseCode.sessionClosed, reason);
}
logger.info('Node $nodeUId revoked from session "$_session": $reason');
}