<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Robin Norwood wrote:
<blockquote cite="mid:xf4k5qcgnku.fsf@solitude.devel.redhat.com"
 type="cite">
  <pre wrap="">Robin Norwood <a class="moz-txt-link-rfc2396E" href="mailto:rnorwood@redhat.com">&lt;rnorwood@redhat.com&gt;</a> writes:

  </pre>
  <blockquote type="cite">
    <pre wrap="">Tim Lauridsen <a class="moz-txt-link-rfc2396E" href="mailto:tla@rasmil.dk">&lt;tla@rasmil.dk&gt;</a> writes:

    </pre>
    <blockquote type="cite">
      <pre wrap="">Richard Hughes wrote:
      </pre>
      <blockquote type="cite">
        <pre wrap="">skvidal mentions we can throttle the download:
<a class="moz-txt-link-freetext" href="http://hughsient.livejournal.com/38322.html?thread=303794">http://hughsient.livejournal.com/38322.html?thread=303794</a>
        </pre>
      </blockquote>
      <pre wrap="">I have can be done very easy in the yum backend.
See attached patch.
      </pre>
    </blockquote>
    <pre wrap="">Have you tested this?  I don't think it's quite right.  According to the
urlgrabber docs: "if it's an int, it's the bytes/second throttle limit.
If it's a float, it is first multiplied by bandwidth."
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Sorry, I meant to include the url:

<a class="moz-txt-link-freetext" href="http://linux.duke.edu/projects/urlgrabber/help/urlgrabber.grabber.html">http://linux.duke.edu/projects/urlgrabber/help/urlgrabber.grabber.html</a>

And, it looks to me like the value in yumbase.conf.throttle is inherited
by the repos and passed directly to UrlGrabber.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Also this would only set the initial throttle...if you want dynamic
throttling, you have to set it per-repo.  Patch coming soon.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
This is my attempt:

  </pre>
  <pre wrap=""><pre wrap="">
<hr size="4" width="90%">

This just sets the throttle in the yum backend.  I haven't yet gotten
the set_throttle_percent call up into the rest of PK, assuming we want
it, and assuming we want to call it 'set_throttle_percent'.

Thoughts?

-RN

</pre><blockquote type="cite"><blockquote type="cite"><pre wrap="">&gt;From 1f9875c2f4426362dd9d60928742575f525d76cb Mon Sep 17 00:00:00 2001
From: Tim Lauridsen <a class="moz-txt-link-rfc2396E" href="mailto:tla@rasmil.dk">&lt;tla@rasmil.dk&gt;</a>
Date: Thu, 27 Sep 2007 09:26:40 +0200
Subject: [PATCH] Add bandwith throttling to yum backend

---
 backends/yum/helpers/yumBackend.py |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/backends/yum/helpers/yumBackend.py b/backends/yum/helpers/yumBackend.py
index ea670fa..b65468d 100644
--- a/backends/yum/helpers/yumBackend.py
+++ b/backends/yum/helpers/yumBackend.py
@@ -409,6 +409,7 @@ class PackageKitYumBackend(PackageKitBaseBackend):
                                                                                                
     def _setup_yum(self):
         self.yumbase.doConfigSetup(errorlevel=0,debuglevel=0) # Setup Yum Config
+        self.yumbase.conf.throttle = "40%"    # Set bandwidth throttle to 40%
         self.dnlCallback = DownloadCallback(self,showNames=True)      # Download callback
         self.yumbase.repos.setProgressBar( self.dnlCallback )         # Setup the download callback class
</pre></blockquote></blockquote><pre wrap=""><!---->
</pre><pre wrap="">
<hr size="4" width="90%">
_______________________________________________
PackageKit mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PackageKit@lists.freedesktop.org">PackageKit@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/packagekit">http://lists.freedesktop.org/mailman/listinfo/packagekit</a>
</pre></pre>
</blockquote>
No conversion is needed, the self.yumbase.conf is a special class with
getter &amp; setter to set differnt kind of option of different speciel
type<br>
The class does the convertion.<br>
self.yumbase.conf.throttle is a special throttle option there take a
lot of differnt values and parse them into something urlgrabber
understands.<br>
See details here (trottle option).<br>
<a class="moz-txt-link-freetext" href="http://devel.linux.duke.edu/gitweb/?p=yum.git;a=blob;f=yum/config.py">http://devel.linux.duke.edu/gitweb/?p=yum.git;a=blob;f=yum/config.py</a><br>
<br>
So the <br>
<pre wrap=""><pre wrap="">self.yumbase.conf.throttle = "40%" </pre></pre>
should work right.<br>
<br>
the repos inherit the throttle from self.yumbase.conf.throttle, so
there should be no need to specify it on each repo object, if we just
set the base throttle before the repos is initialized.<br>
<br>
Tim<br>
</body>
</html>