Daniel Cheng wrote:
> On Wed, Feb 4, 2009 at 12:45 AM,  <[email protected]> wrote:
>> Author: nextgens
>> Date: 2009-02-03 16:45:44 +0000 (Tue, 03 Feb 2009)
>> New Revision: 25492
>>
>> Modified:
>>   trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
>> Log:
>> Use the executor and not the ticker there
>>
>> Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
>> ===================================================================
>> --- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
>> 2009-02-03 16:24:45 UTC (rev 25491)
>> +++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
>> 2009-02-03 16:45:44 UTC (rev 25492)
>> @@ -662,18 +662,18 @@
>>                Runnable r = new Runnable() {
>>                        public void run() {
>>                                if(logMINOR) Logger.minor(this, "Running 
>> "+gets.length+" callbacks off-thread for "+block.getKey());
>> -                               for(int i=0;i<gets.length;i++) {
>> +                               for(SendableGet get : gets) {
>>                                        try {
>> -                                               if(logMINOR) 
>> Logger.minor(this, "Calling callback for "+gets[i]+" for "+key);
>> -                                               gets[i].onGotKey(key, block, 
>> ClientRequestScheduler.this);
>> +                                               if(logMINOR) 
>> Logger.minor(this, "Calling callback for "+get+" for "+key);
>> +                                               get.onGotKey(key, block, 
>> ClientRequestScheduler.this);
>>                                        } catch (Throwable t) {
>> -                                               Logger.error(this, "Caught 
>> "+t+" running callback "+gets[i]+" for "+key, t);
>> +                                               Logger.error(this, "Caught 
>> "+t+" running callback "+get+" for "+key, t);
>>                                        }
>>                                }
>>                                if(logMINOR) Logger.minor(this, "Finished 
>> running callbacks");
>>                        }
>>                };
>> -               node.getTicker().queueTimedJob(r, 0); // FIXME ideally these 
>> would be completed on a single thread; when we have 1.5, use a dedicated 
>> non-parallel Executor
>> +               node.executor.execute(r, "Callbacks for "+name);
> 
> The FIXME still applies:   node.executor spawn a new thread for every
> request. the original comment call for a "non-parallel" executor.

There is a patch in the pipes to make it happen; There is no reason why 
not to use Executor anymore... All we need is a NativeThread factory.
_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to