Просмотр исходного кода

net/session/direct_session: make `inc_channel_usage()` public and add a direct session check

epiphany 8 месяцев назад
Родитель
Сommit
b6fffc3784
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      src/net/session/direct_session.rs

+ 5 - 1
src/net/session/direct_session.rs

@@ -192,7 +192,11 @@ impl DirectSession {
     }
 
     /// Increment channel usage
-    async fn inc_channel_usage(&self, channel: &ChannelPtr, n: u32) {
+    pub async fn inc_channel_usage(&self, channel: &ChannelPtr, n: u32) {
+        if channel.session_type_id() & SESSION_DIRECT == 0 {
+            // Do nothing if this is not a channel created by the direct session
+            return
+        }
         let mut channels_usage = self.channels_usage.lock().await;
         channels_usage.entry(channel.info.id).and_modify(|count| *count += n).or_insert(n);
     }