Ticket #1466: send_buffer_fix.patch

File send_buffer_fix.patch, 1.7 KB (added by joshbeck, 12 years ago)
  • deluge/core/torrentmanager.py

    From 07d9a03bf7a5abb556cc3b4d59a4cca6d1ad05f2 Mon Sep 17 00:00:00 2001
    From: Joshua Beck <jxb091000@utdallas.edu>
    Date: Sun, 18 Dec 2011 03:55:44 -0600
    Subject: [PATCH] fix "send buffer watermark too low" warnings
    
    ---
     deluge/core/torrentmanager.py |   18 ++++++++++++++++++
     1 files changed, 18 insertions(+), 0 deletions(-)
    
    diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py
    index 43ea994..a7bb200 100644
    a b def __init__(self): 
    204204            self.on_alert_file_error) 
    205205        self.alerts.register_handler("file_completed_alert", 
    206206            self.on_alert_file_completed) 
     207        self.alerts.register_handler("performance_alert", 
     208            self.on_alert_performance) 
    207209 
    208210    def start(self): 
    209211        # Get the pluginmanager reference 
    def on_alert_file_completed(self, alert): 
    11531155            return 
    11541156        component.get("EventManager").emit( 
    11551157            TorrentFileCompletedEvent(torrent_id, alert.index)) 
     1158 
     1159    def on_alert_performance(self, alert): 
     1160        log.debug("performance_alert: %s", alert.message()) 
     1161        try 
     1162            # if send buffer is too small, try doubling its size 
     1163            settings = component.get("Core").session.settings() 
     1164            # cap buffer at 5MiB 
     1165            if settings.send_buffer_watermark <= 2621440 
     1166                log.debug("send_buffer_watermark set to %s..", 
     1167                    2 * settings.send_buffer_watermark) 
     1168                setattr(settings, "send_buffer_watermark", 
     1169                    2 * settings.send_buffer_watermark) 
     1170                self.session.set_settings(settings) 
     1171 
     1172        except: 
     1173            return