... but i don't see any way to slow it down
I once had a similar requirement (not LWP, but X11 connections, though). For this, I simply sent the
data through a bidirectional proxy (implemented with IO::Socket and
IO::Select), and inserted delays as appropriate. I.e., the inner loop
shoveling the data roughly looked like this
while($sel->can_read) {
my $nbytes = sysread( ... );
my $wait_sec = $nbytes / $bandwidth;
select(undef,undef,undef, $wait_sec); # delay
syswrite( ... );
}
So, let's say with 10000 bytes being transferred ($nbytes),
and with the simulated $bandwidth being 2000 (bytes/sec), a
total delay of 5 sec. would be forced upon the transfer. This could be
refined to take the real bandwidth of the connection into account
(which was large in my case), but in order to just get a feel for
how slow something is, it might be sufficient as it is...
Similarly, you could add roundtrip latencies, or play with transfer
block sizes, etc.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|