@@ -0,0 +1,1231 @@
+%0Apackage forager.server;%0A%0A/**%0A * Extends the single-threaded reactor implementation defined by%0A * %7B@link EventMapper%7D to enable multiple worker threads for processing events%0A * concurrently.  This assumes that the object with event handlers can deal%0A * with being accessed by multiple threads concurrently.%0A * %3Cp%3E%0A * In all likelihood, spinning up threads when necessary using the%0A * single-threaded EventMapper would be an easier and fairly performant%0A * alternative to using this class.%0A *%0A * @author malensek%0A */%0Apublic class ConcurrentEventMapper extends EventMapper %7B%0A%0A    private int poolSize;%0A%0A    /**%0A     * @param handlerObject an Object instance that contains the implementations%0A     * for event handlers, denoted by the %7B@link EventHandler%7D annotation.%0A     * @param eventMap a EventMap implementation that provides a mapping from%0A     * integer identification numbers to specific classes that represent an%0A     * event.%0A     * @param poolSize the number of worker threads this concurrent event mapper%0A     * should maintain.%0A     */%0A    public ConcurrentEventMapper(%0A            Object handlerObject, EventMap eventMap, int poolSize) %7B%0A        super(handlerObject, eventMap);%0A        this.poolSize = poolSize;%0A    %7D%0A%7D%0A

Add concurrent EventMapper extension