Compare commits
2 Commits
878df8da40
...
78bc46c56b
Author | SHA1 | Date | |
---|---|---|---|
78bc46c56b | |||
3e726c713f |
|
@ -19,15 +19,15 @@ pub struct Stats {
|
|||
|
||||
impl Stats {
|
||||
pub fn add_connection(&self) {
|
||||
self.connections.store(1, Ordering::Relaxed);
|
||||
self.connections.fetch_add(1, Ordering::Relaxed);
|
||||
}
|
||||
|
||||
pub fn add_rx_bytes(&self, n: usize) {
|
||||
self.rx.store(n, Ordering::Relaxed);
|
||||
self.rx.fetch_add(n, Ordering::Relaxed);
|
||||
}
|
||||
|
||||
pub fn add_tx_bytes(&self, n: usize) {
|
||||
self.tx.store(n, Ordering::Relaxed);
|
||||
self.tx.fetch_add(n, Ordering::Relaxed);
|
||||
}
|
||||
|
||||
pub fn connections(&self) -> usize {
|
||||
|
@ -39,7 +39,7 @@ impl Stats {
|
|||
}
|
||||
|
||||
pub fn set_failed(&self, failed: bool) {
|
||||
self.failed.store(failed, Ordering::Relaxed);
|
||||
self.failed.fetch_and(failed, Ordering::Relaxed);
|
||||
}
|
||||
|
||||
pub fn rx(&self) -> Unit {
|
||||
|
|
|
@ -330,6 +330,26 @@ impl russh::server::Handler for Handler {
|
|||
Ok(session.channel_success(channel)?)
|
||||
}
|
||||
|
||||
async fn channel_close(
|
||||
&mut self,
|
||||
channel: ChannelId,
|
||||
session: &mut Session,
|
||||
) -> Result<(), Self::Error> {
|
||||
if let Some(pty_channel) = self.pty_channel
|
||||
&& pty_channel == channel
|
||||
{
|
||||
debug!("Pty channel closed");
|
||||
|
||||
session.disconnect(
|
||||
russh::Disconnect::ByApplication,
|
||||
"Remaining active connections have been closed",
|
||||
"EN",
|
||||
)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn tcpip_forward(
|
||||
&mut self,
|
||||
address: &str,
|
||||
|
|
Loading…
Reference in New Issue
Block a user