ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/filter/FilterMain.java
Revision 1.40 - (view) (annotate) - [select for diffs]
Sun Aug 1 10:40:58 2004 UTC (19 years, 9 months ago) by tdb
Branch: MAIN
CVS Tags: HEAD
Changes since 1.39: +3 -3 lines
Diff to previous 1.39
Catch a lot of old URL's and update them. Also remove a couple of old files
that aren't used.

Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Feb 24 20:18:49 2003 UTC (21 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.38: +4 -31 lines
Diff to previous 1.38
Fairly major commit. This will break the current version of ihost, but this
had to be done really to give Pete something to test the new ihost against.

The main change here is removal of the TCP Heartbeat functionality from the
filter. This meant the following features stopped working :-
  - Heartbeat testing
  - Configuration checking
  - Service checks

The heartbeat testing, specifically the monitor, now looks at the presence
of UDP packets instead. Before it just looked for the presence of a TCP
heartbeat packet, so the change their is fairly negligible. Of course this
means heartbeat testing now relies on the UDP working... but I don't see
this as a problem.

Configuration checking has been repositioned in to the filtermanager. This
is a backwards compatible change - the filtermanager should still perform
as it should for older hosts. But now there's an extra command to check the
configuration is up-to-date, with a similar format to the old TCP protocol
in the filter. (although we may optimise this soon)

The service checks are broken. This isn't a major issue for us as they were
pretty useless in the first place. The concept is good, but the checks are
just far too primitive. I expect at some point I'll work on a seperate
component that just monitors services, which will replace this function.

Further changes in the server include removal of the key checking code,
as this relied on a bolt on to the TCP heartbeat protocol to ship the
key. This got more akward than originally planned, so I'm happy to drop the
idea. In the long term we hope to replace this with a public key systems
for signing and even encryption.

Finally, general tidy up to remove other bits of code that check for
TCP heartbeat packets when they don't need to any more.

Revision 1.38 - (view) (annotate) - [select for diffs]
Wed Feb 5 16:43:47 2003 UTC (21 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.37: +4 -4 lines
Diff to previous 1.37
Changed the server to use the external util package. Quite a minor change,
but does affect a lot of files.

Revision 1.37 - (view) (annotate) - [select for diffs]
Fri Sep 6 15:10:48 2002 UTC (21 years, 8 months ago) by tdb
Branch: MAIN
Changes since 1.36: +5 -5 lines
Diff to previous 1.36
Fix for upgrade to Jacorb 1.4.1. It's our fault actually, we've not been
correctly using the names when binding to the Naming Service. This needs to
be fixed properly at some point, but for now I've changed changed the code
so it "means" the same as it did before the upgrade.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue May 21 16:47:17 2002 UTC (21 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.35: +3 -2 lines
Diff to previous 1.35
Added URL to GPL headers.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sat May 18 18:16:01 2002 UTC (21 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.34: +21 -2 lines
Diff to previous 1.34
i-scream is now licensed under the GPL. I've added the GPL headers to every
source file, and put a full copy of the license in the appropriate places.
I think I've covered everything. This is going to be a mad commit ;)

Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Mar 22 10:43:06 2002 UTC (22 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.33: +8 -3 lines
Diff to previous 1.33
Split the CORBA side of the filter in two. The Filter interface still does
the receiving of data, just like it used to. This can optionally be turned
off in the configuration if required. The new interface, FilterInfo, is
used to provide information (host and ports) to other parts of the server
about the Filter - namely the FilterManager. This split has been done so
that the data receiving part of the Filter can be turned off, without
breaking the FilterManager.

Revision 1.33 - (view) (annotate) - [select for diffs]
Wed Mar 20 13:05:49 2002 UTC (22 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.32: +11 -11 lines
Diff to previous 1.32
Filter will now request the config "Filter.<name>", as opposed to just
"<name>" which it did before. The documentation suggests it should do what
it does now, and this seems the most sane thing to do.

Revision 1.32 - (view) (annotate) - [select for diffs]
Tue Mar 19 16:37:28 2002 UTC (22 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.31: +118 -53 lines
Diff to previous 1.31
New options added to the configuration to permit activiation of individual
input feeds in the Filter. You could, for example, disable the CORBA feed
on all filters that have no children.

Revision 1.31 - (view) (annotate) - [select for diffs]
Tue May 29 17:02:35 2001 UTC (22 years, 11 months ago) by tdb
Branch: MAIN
Branch point for: SERVER_PIRCBOT
Changes since 1.30: +8 -8 lines
Diff to previous 1.30
Major change in the java package naming. This has been held off for some time
now, but it really needed doing. The future packaging of all i-scream products
will be;

uk.org.iscream.<product>.<subpart>.*

In the case of the central monitoring system server this will be;

uk.org.iscream.cms.server.*

The whole server has been changed to follow this structure, and tested to a
smallish extent. Further changes in other parts of the CMS will follow.

Revision 1.30 - (view) (annotate) - [select for diffs]
Fri Mar 16 16:11:32 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
CVS Tags: PROJECT_COMPLETION
Changes since 1.29: +28 -3 lines
Diff to previous 1.29
Implemented Queue size limiting.

Revision 1.29 - (view) (annotate) - [select for diffs]
Wed Mar 14 23:25:29 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.28: +8 -8 lines
Diff to previous 1.28
The whole server package structure has been changed.
Old Package: uk.ac.ukc.iscream.*
New Package: uk.org.iscream.*

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Mar 14 01:54:28 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.27: +4 -4 lines
Diff to previous 1.27
Of course, being my usual sensible self, I potentially had a situation where by
I would log to the Logger than the Logger isn't running. Clever eh ? :)

Revision 1.27 - (view) (annotate) - [select for diffs]
Wed Mar 14 01:43:52 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.26: +4 -5 lines
Diff to previous 1.26
We weren't grabbing a ReferenceManager reference until startup, although there
is no reason (unlike the Logger) why we can't grab it on construction.

Revision 1.26 - (view) (annotate) - [select for diffs]
Wed Mar 14 01:34:28 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.25: +32 -4 lines
Diff to previous 1.25
New dependency checking. The old method was to attempt to start a Component, and
if it failed, it probably had a depdency problem. The approach now is to ask the
Component to perform a dependency check first, then if this suceeds, have a go
at actually starting it up.
The actual dependency check is a bit neater and more precise than before, and
should be much more fool proof. The order the components are specified in the
default.properties file is now irrelevant, although the "correct" order would
certainly increase booting time.

Revision 1.25 - (view) (annotate) - [select for diffs]
Tue Mar 13 16:25:57 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.24: +23 -33 lines
Diff to previous 1.24
Modified to use the ConfigurationProxy. Also took the opportunity to fix some of
the issues with TCP communicates - specifically checking for nulls. This makes
the configuration more dynamic, but do note that the TCP/UDP ports are only set
on startup. This is because it would require lots of extra work to "change" the
ports that the Filter is bound to on the fly.

Revision 1.24 - (view) (annotate) - [select for diffs]
Fri Feb 23 17:11:09 2001 UTC (23 years, 2 months ago) by ajm
Branch: MAIN
Changes since 1.23: +8 -5 lines
Diff to previous 1.23
now only uses the reference manager on calls to start()

Revision 1.23 - (view) (annotate) - [select for diffs]
Wed Feb 21 19:11:30 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.22: +6 -3 lines
Diff to previous 1.22
Modification to the Queue system;
- interval of monitor is now configurable.
- attempt to identify each Queue better, although this is still hard.

Revision 1.22 - (view) (annotate) - [select for diffs]
Mon Feb 12 02:22:48 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.21: +4 -2 lines
Diff to previous 1.21
We now monitor the Queue here every 60 seconds.

Revision 1.21 - (view) (annotate) - [select for diffs]
Thu Feb 1 00:18:42 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20
General tidy up, specifically focussing on the verbosity of logging messages.

Revision 1.20 - (view) (annotate) - [select for diffs]
Sun Jan 28 06:03:58 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.19: +9 -12 lines
Diff to previous 1.19
A tidy up of the configuration getting section.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Jan 18 23:17:58 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.18: +5 -4 lines
Diff to previous 1.18
Changes to reflect move of Component, ComponentStartException, and the
ReferenceManager from util to componentmanager.

Revision 1.18 - (view) (annotate) - [select for diffs]
Fri Jan 12 00:45:25 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.17: +13 -5 lines
Diff to previous 1.17
A structural change to the Filter.

The old setup looked like this;

UDPReader ------> FilterThread (thread) --> (parent)
TCPReader ------> FilterThread (thread) --> (parent)
FilterServant --> FilterThread (thread) --> (parent)

Seeing this from a threaded point of view, each time a packet came in (through
whatever means - UDP, TCP or CORBA), a FilterThread instance was created to
deal with it. If the link to the parent was slow this resulting in a build-up
of FilterThreads all waiting to talk to the parent - and there is only one
actual parent object, with a synchronised thread, so they have to queue up
anyway.

As a result of this, the following change has been made.

UDPReader -------\
TCPReader ----------> Queue (single) >-- FilterThread --> (parent)
FilterServant ---/

In this setup, each of the three objects that generate packets only see the
single instance of a Queue. They all add their data to this Queue, and then
carry on with the task of listening. The FilterThread (having it's role changed
slightly) now acts as a consumer of the Queue, in that it grabs data from the
Queue and deals with passing it on to the parent.

This setup should be more efficient in the long run, especially under a high
load situation. The only problem could be the Queue growing to an unlimited
size, but this is a Queue design issue.

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Dec 13 15:47:26 2000 UTC (23 years, 4 months ago) by ajm
Branch: MAIN
Changes since 1.16: +3 -14 lines
Diff to previous 1.16
fixed the name problem when using the static, now only uses the static

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Dec 13 13:36:46 2000 UTC (23 years, 4 months ago) by ajm
Branch: MAIN
Changes since 1.15: +83 -61 lines
Diff to previous 1.15
componenterized the filter and tidied all child classes, no all conform to toString standard

Revision 1.15 - (view) (annotate) - [select for diffs]
Thu Nov 30 03:05:47 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Branch point for: SERVER_PACKAGEBUILD
Changes since 1.14: +2 -5 lines
Diff to previous 1.14
removed imports which are no longer needed due to use of ReferenceManager

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Nov 30 02:38:09 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.13: +3 -3 lines
Diff to previous 1.13
Changed package structure
uk.ac.ukc.iscream.refman and xml -> uk.ac.ukc.iscream.util

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Nov 30 02:18:51 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.12: +57 -128 lines
Diff to previous 1.12
Tidied up all the code
Used ReferenceManager to provide all ORB services

Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Nov 29 21:27:39 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.11: +3 -2 lines
Diff to previous 1.11
Update for package move.
Fixed bug in constructors.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Nov 29 19:26:00 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.10: +3 -2 lines
Diff to previous 1.10
Made changes to fit into the new package structure. Also made all classes, namely
the UDPReader and FilterThread, conform to the Template class specification.

Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Nov 27 21:46:25 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9
We don't really need this test line anymore.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Nov 27 10:23:19 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.8: +4 -4 lines
Diff to previous 1.8
Missed a few references to port.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Nov 27 00:41:01 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.7: +14 -7 lines
Diff to previous 1.7
Changed the configuration settings so that it can receive seperate TCP and
UDP ports. Also added the TCPReader.

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Nov 23 09:41:09 2000 UTC (23 years, 5 months ago) by pjm2
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6
Corrected the message contained within the usage() function.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Nov 23 01:44:05 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.5: +15 -16 lines
Diff to previous 1.5
Implemented all the functionality required to make the "basic" Filter work
in the correct manner.

Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Nov 22 09:36:38 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.4: +21 -20 lines
Diff to previous 1.4
Had to jiggle a few bits around. It's going to take a bit of sorting to get this
arranged correctly, but we need the FilterManager finished first.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Nov 22 08:47:36 2000 UTC (23 years, 5 months ago) by pjm2
Branch: MAIN
Changes since 1.3: +5 -5 lines
Diff to previous 1.3
Incorporated the UDPReader thread.

Revision 1.3 - (view) (annotate) - [select for diffs]
Tue Nov 21 23:14:00 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.2: +4 -4 lines
Diff to previous 1.2
Tided up the config a bit, so it actually gets a port value now.

Revision 1.2 - (view) (annotate) - [select for diffs]
Tue Nov 21 22:34:04 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.1: +23 -2 lines
Diff to previous 1.1
Added a few more bits and comments. It still needs to be sorted out as other
parts of the system are polished off.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Nov 21 21:06:07 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Renamed from Filter.java. Main method for the Filter.

Convenience Links

Links to HEAD: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a