1
// This file is part of hnefatafl-copenhagen.
2
//
3
// hnefatafl-copenhagen is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU Affero General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// hnefatafl-copenhagen is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
// GNU Affero General Public License for more details.
12
//
13
// You should have received a copy of the GNU Affero General Public License
14
// along with this program.  If not, see <https://www.gnu.org/licenses/>.
15
//
16
// SPDX-License-Identifier: AGPL-3.0-or-later
17
// SPDX-FileCopyrightText: 2025 David Campbell <david@hnefatafl.org>
18

            
19
use std::{net::IpAddr, sync::mpsc::Sender};
20

            
21
#[derive(Debug)]
22
pub(crate) struct RemoveConnection {
23
    pub address: IpAddr,
24
    pub tx: Sender<(String, Option<Sender<String>>)>,
25
}
26

            
27
impl Drop for RemoveConnection {
28
    fn drop(&mut self) {
29
        let _ok = self
30
            .tx
31
            .send((format!("0 server connection_remove {}", self.address), None));
32
    }
33
}