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}