I'd vote for the balanced set #2.

----- Original Message -----
From: "Taylor Gautier" <[EMAIL PROTECTED]>
To: "Jonas Bonér" <[EMAIL PROTECTED]>, "Geert Bevin" <[EMAIL PROTECTED]>, "Alex 
Miller" <[EMAIL PROTECTED]>, "Kunal Bhasin" <[EMAIL PROTECTED]>, "Juris Galang" 
<[EMAIL PROTECTED]>, "Jason Voegele" <[EMAIL PROTECTED]>, 
[email protected], [EMAIL PROTECTED]
Sent: Tuesday, February 12, 2008 4:54:56 PM (GMT-0600) America/Chicago
Subject: Code layout


There have been a number of utility like and pattern like implementations going 
into forge/labs. I have been thinking about how best to organize these things. 
Here's my thinking to date, I'm open to suggestions or just voting for one of 
the options below. 

At the moment I know of: 



    • ResourceManager - a pair of classes that level a shared resource across a 
cluster (relies on JMX util) 
    • Pipes/Channels - refactoring of the pipe/channel idea in m/w 
    • Master/Worker - work load balancer 
    • JMX Util - JMX event util classes 
    • Annotations - annotations 
    • SplitHashMap - rough equivalent of concurrenthashmap 
    • TimeSeriesMap - to expire items in a map based on time entries 
So, I am not sure, I can argue a few different layouts: 

1) All in one package. On the one extreme, this makes using any TC based util 
class (or pattern) really easy. Until there is too much in one package, this 
what I prefer, except it tends to have version creep that doesn't correspond to 
relevant features - in other words a developer uses it only for JMX, but the 
version bumps because of a fix for annotations 

2) A Balanced set of packages. I would propose 


    • tc-util - contains pipe/channel, resourcemanager, jmxutil, splithashmap, 
timeseriesmap 
    • annotations - annotations only 
    • master/woker - m/w only, but needs tc-util for both pipe/channel and jmx 

3) Lots of little packages - basically everything in its own package. This is 
my least favorite option. 



Thoughts? 

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to