scatter_net/legacy/peer/implementations/terminate.rs
1use iroh::endpoint::VarInt;
2
3use crate::{Peer, Terminate};
4
5impl<E, R> Terminate<E, R> for Peer
6where
7 E: Into<VarInt> + Send,
8 R: AsRef<[u8]> + Send,
9{
10 fn terminate(&self, error_code: E, reason: &R) {
11 self.read()
12 .connection
13 .close(error_code.into(), reason.as_ref());
14
15 let mut guard = self.write();
16
17 guard.state.terminated = true;
18 }
19}