On Friday 17 April 2009 17:42:03 nextgens at freenetproject.org wrote:
> Author: nextgens
> Date: 2009-04-17 16:42:03 +0000 (Fri, 17 Apr 2009)
> New Revision: 26942
> 
> Modified:
>    branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java
> Log:
> More optimization: sort the MessageFilters by Peer to speedup matching
> 
> Modified: 
branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java
> ===================================================================
> --- branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java     
2009-04-17 16:32:59 UTC (rev 26941)
> +++ branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java     
2009-04-17 16:42:03 UTC (rev 26942)
...

Neither of the below makes sense, if you're thinking of reusing this code. You 
add the filter to the list for *every* Peer, afaics.

> @@ -352,20 +373,22 @@
>                       if (ret == null) {
>                               if(logMINOR) Logger.minor(this, "Not in 
> _unclaimed");
>                           // Insert filter into filter list in order of 
> timeout
> -                             ListIterator<MessageFilter> i = 
> _filters.listIterator();
> -                             while (true) {
> -                                     if (!i.hasNext()) {
> -                                             i.add(filter);
> -                                             if(logMINOR) Logger.minor(this, 
> "Added at end");
> -                                             break;
> +                             for(LinkedList<MessageFilter> list : 
> _filters.values()) {
> +                                     ListIterator<MessageFilter> i = 
> list.listIterator();
> +                                     while (true) {
> +                                             if (!i.hasNext()) {
> +                                                     i.add(filter);
> +                                                     if(logMINOR) 
> Logger.minor(this, "Added at end");
> +                                                     break;
> +                                             }
> +                                             MessageFilter mf = i.next();
> +                                             if (mf.getTimeout() > 
> filter.getTimeout()) {
> +                                                     i.previous();
> +                                                     i.add(filter);
> +                                                     if(logMINOR) 
> Logger.minor(this, "Added in middle - mf 
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> +                                                     break;
> +                                             }
>                                       }
> -                                     MessageFilter mf = i.next();
> -                                     if (mf.getTimeout() > 
> filter.getTimeout()) {
> -                                             i.previous();
> -                                             i.add(filter);
> -                                             if(logMINOR) Logger.minor(this, 
> "Added in middle - mf 
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> -                                             break;
> -                                     }
>                               }
>                       }
>               }
> @@ -424,20 +447,22 @@
>                       if (ret == null) {
>                               if(logMINOR) Logger.minor(this, "Not in 
> _unclaimed");
>                           // Insert filter into filter list in order of 
> timeout
> -                             ListIterator<MessageFilter> i = 
> _filters.listIterator();
> -                             while (true) {
> -                                     if (!i.hasNext()) {
> -                                             i.add(filter);
> -                                             if(logMINOR) Logger.minor(this, 
> "Added at end");
> -                                             break;
> +                             for(LinkedList<MessageFilter> list : 
> _filters.values()) {
> +                                     ListIterator<MessageFilter> i = 
> list.listIterator();
> +                                     while (true) {
> +                                             if (!i.hasNext()) {
> +                                                     i.add(filter);
> +                                                     if(logMINOR) 
> Logger.minor(this, "Added at end");
> +                                                     break;
> +                                             }
> +                                             MessageFilter mf = i.next();
> +                                             if (mf.getTimeout() > 
> filter.getTimeout()) {
> +                                                     i.previous();
> +                                                     i.add(filter);
> +                                                     if(logMINOR) 
> Logger.minor(this, "Added in middle - mf 
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> +                                                     break;
> +                                             }
>                                       }
> -                                     MessageFilter mf = i.next();
> -                                     if (mf.getTimeout() > 
> filter.getTimeout()) {
> -                                             i.previous();
> -                                             i.add(filter);
> -                                             if(logMINOR) Logger.minor(this, 
> "Added in middle - mf 
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> -                                             break;
> -                                     }
>                               }
>                       }
>               }
> 
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
> 
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090430/2d133a27/attachment.pgp>

Reply via email to