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