Skip to main content

tuwunel_admin/query/peer_status/
record_failure.rs

1use ruma::OwnedServerName;
2use tuwunel_core::Result;
3use tuwunel_service::federation::Classification;
4
5use crate::admin_command;
6
7#[admin_command]
8pub(super) async fn peer_status_record_failure(
9	&self,
10	server_name: OwnedServerName,
11	permanent: bool,
12) -> Result {
13	let classification = permanent
14		.then_some(Classification::Permanent)
15		.unwrap_or(Classification::Transient);
16
17	self.services
18		.federation
19		.record_failure(&server_name, classification);
20
21	write!(self, "Recorded {classification:?} failure for {server_name} in current bucket.").await
22}