Hello,

 

I finished off a simple buffer pool of direct memory buffers which I

plan to use in the next component that starts reading input from the

client channel. 

 

Before giving the links to the area where I created this stuff I thought

it might be a good time to break down the structure of the repository

for the eve portion of the project.

 

Basically I will be dismantling some of the imported sandboxes and

projects slowly to build the frontend and backend of the server using

the new design.  I will slowly move the code over into this new

configuration:

 

<top>/ldap/eve

frontend

    common

    event

    …

backend

    …

 

I’ve or will be basically separated out the logical parts of the frontend

and the backend into separate directories.  In there you’ll find either

api, spi or impl directories containing Mavenized projects.  Some of the

reasons for doing this are due to the way we handle classloaders in

most containers.  It will eventually make components more pluggable

in the server.  Anyway under the frontend/buffer directory are the ‘spi’

and ‘impl’ project directories for the BufferPool stuff.  As you would

suspect the ‘spi’ contains the interfaces and objects used to build a

BufferPool and the ‘impl’ contains implementations of the BufferPool

and components.

 

Here’s a peek at the spi:

 

http://cvs.apache.org/viewcvs.cgi/incubator/directory/ldap/trunk/eve/frontend/buffer/spi/src/java/org/apache/eve/buffer/?root=Apache-SVN

 

Here’s the impl stuff:

 

http://cvs.apache.org/viewcvs.cgi/incubator/directory/ldap/trunk/eve/frontend/buffer/impl/src/java/org/apache/eve/buffer/?root=Apache-SVN

 

Oooh just looked at these links and I gotta do something about my tabs

       sorry.

 

I’m soliciting comments ;).  Namely what do you think about the BufferPool

interface itself here:

 

http://cvs.apache.org/viewcvs.cgi/*checkout*/incubator/directory/ldap/trunk/eve/frontend/buffer/spi/src/java/org/apache/eve/buffer/BufferPool.java?content-type=text%2Fplain&rev=1390&root=Apache-SVN

 

I could not find a good design pattern for this stuff so I implemented my own.

If anyone knows of one out there let me know.

 

Thanks,

Alex