Mark,

On 3/11/15 5:06 PM, ma...@apache.org wrote:
> Author: markt
> Date: Wed Mar 11 21:06:53 2015
> New Revision: 1666013
> 
> URL: http://svn.apache.org/r1666013
> Log:
> Add a placeholder for the descriptor merging that is going to be necessary 
> for OSX and BSD.
> 
> Modified:
>     tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
> 
> Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1666013&r1=1666012&r2=1666013&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
> +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Mar 11 
> 21:06:53 2015
> @@ -1759,6 +1759,7 @@ public class AprEndpoint extends Abstrac
>                              nextPollerTime += pollerTime;
>                          }
>                          if (rv > 0) {
> +                            rv = mergeDescriptors(desc, rv);
>                              pollerSpace[i] += rv;
>                              connectionCount.addAndGet(-rv);
>                              for (int n = 0; n < rv; n++) {
> @@ -1923,6 +1924,21 @@ public class AprEndpoint extends Abstrac
>                  this.notifyAll();
>              }
>          }
> +
> +
> +        private int mergeDescriptors(long[] desc, int startCount) {
> +            if (OS.IS_BSD || OS.IS_MACOSX) {
> +                // TODO Need to actually implement merging of the 
> descriptors here.
> +                //      I'm currently thinking quicksort followed by running
> +                //      through the sorted list to merge the events.
> +                return startCount;

How many events are you expecting to have to handle, how many do you
expect to merge, and how often do you expect to do any actual work?
QuickSort is great if your data are completely unordered and you intend
to actually order them. In this case, though, the order of the data is
only a convenience to find matches and not the end goal.

There may be better ways to find matches than sorting and then
performing a linear search for matches.

-chris

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to