… | |
… | |
44 | } |
44 | } |
45 | } |
45 | } |
46 | } |
46 | } |
47 | |
47 | |
48 | sub sort { |
48 | sub sort { |
49 | $_[0]{wait} = [ |
49 | my @queue = grep $_, @{$_[0]{wait}}; |
50 | sort { $b->{spb} <=> $a->{spb} } |
50 | |
51 | grep { $_ && ($_->{spb} = ($::NOW-$_->{time})/($_->{size}||1)), $_ } |
51 | $_->{spb} = ($::NOW-$_->{time}) / ($_->{size} || 1) for @queue; |
52 | @{$_[0]{wait}} |
|
|
53 | ]; |
52 | |
|
|
53 | $_[0]{wait} = [sort { $b->{spb} <=> $a->{spb} } @queue]; |
54 | } |
54 | } |
55 | |
55 | |
56 | sub waiters { |
56 | sub waiters { |
57 | $_[0]->sort; |
57 | $_[0]->sort; |
58 | @{$_[0]{wait}}; |
58 | @{$_[0]{wait}}; |