Roland Häder [Tue, 22 Mar 2011 21:20:38 +0000 (21:20 +0000)]
Required interface 'Registerable' added
Roland Häder [Tue, 22 Mar 2011 21:18:38 +0000 (21:18 +0000)]
Set application instance first (to prevent a NPE in BaseRegistry) and no 'this' in static environments
Roland Häder [Tue, 22 Mar 2011 00:16:48 +0000 (00:16 +0000)]
In 'core' introduced XmlTemplateEngineFactory used:
- Rewrite to new XmlTemplateEngineFactory (which saves code where some required
steps could be forgotten)
- Added a method in test unit producer for initialization
- TODOs.txt updated
Roland Häder [Mon, 21 Mar 2011 23:25:25 +0000 (23:25 +0000)]
Removed obsolete parameter 'applicationInstance' from all template engines
Roland Häder [Mon, 21 Mar 2011 22:46:23 +0000 (22:46 +0000)]
Producers should always extend BaseProducer
Roland Häder [Wed, 16 Mar 2011 22:04:09 +0000 (22:04 +0000)]
Producer/Consumer Pattern introduced:
- Producer/Consumer interfaces added
- First producer for test units introduced
- TODOs.txt updated
Roland Häder [Tue, 15 Mar 2011 22:06:41 +0000 (22:06 +0000)]
Introduced a test-unit producer task (unfinished work)
Roland Häder [Tue, 15 Mar 2011 21:30:54 +0000 (21:30 +0000)]
Some configuration entries prefixed with 'node_'
Roland Häder [Tue, 15 Mar 2011 20:45:29 +0000 (20:45 +0000)]
Documentation tag fixed for method detectCorePath() (all projects)
Roland Häder [Tue, 15 Mar 2011 20:35:50 +0000 (20:35 +0000)]
Many XML-related templates engines renamed:
- All XML-bases template engines prefixed with 'Xml'
- Directory prepared for template engines handling WU XML templates
- TODOs.txt updated
Roland Häder [Mon, 14 Mar 2011 21:30:13 +0000 (21:30 +0000)]
Made two (generic/'base') classes abstract because calls are done from the generic/'base' class to a concrete class
Roland Häder [Mon, 14 Mar 2011 20:39:55 +0000 (20:39 +0000)]
Generator/helper class for generating test units introduced:
- There is currently a loop in the cruncher class which is not recommended but maybe fine here
Roland Häder [Mon, 14 Mar 2011 17:58:25 +0000 (17:58 +0000)]
A requestInstance must no longer be set in cruncher
Roland Häder [Sun, 13 Mar 2011 12:09:34 +0000 (12:09 +0000)]
Some methods moved around (the code is now a some-what template-method-pattern
Roland Häder [Sat, 12 Mar 2011 00:24:29 +0000 (00:24 +0000)]
A lot new methods/class added and many cleanups:
- Double-quotes converted to single to speed-up things a little
- Wrong BaseconnectionInstance fixed
- New methods introduced to cruncher:
+ doFetchWorkUnits(): To fetch WUs or generate test units
+ enableIsActive/isActive(): To test/set if the cruncher is active
+ initBufferQueues(): To initialize in/out buffer queues
- addExtraCruncherFilters() renamed to addExtraFilters()
- This method has now project-wide a Controller instance as first argument
- Dublicate method call to addExtraFilters() removed which happens in the
rewriting process
- $appInstance renamed to $applicationInstance to have a better naming
convention
- Some deprecated classes removed (they where named wrong)
- BaseHubCruncher (a generic class) extended:
+ It does now check if the in-buffer queue is filled (depending on a
configurable threshold)
+ It implements initBufferQueues() from CruncherHelper interface
- Copyright fixed in HubMcryptCruncher
- The idle-loop task is now "genericly" registered in the TaskHandler class:
+ This implies that all task-based application will always have at least
one (but really generic) task.
+ The method hasTasksLeft() will return 'true' in all situations unless the
idle-loop task "kills" itself
- Generic cruncher-activation filter added
- The mentioned buffer queues are now initialized by a newly added filter class
and handled by an own task class
- More minor code-cleanups
- TODOs.txt updated
Roland Häder [Sat, 5 Mar 2011 15:43:19 +0000 (15:43 +0000)]
A lot files renamed (sorry guys for the mess) and moved to sub directories
Roland Häder [Sat, 5 Mar 2011 15:04:00 +0000 (15:04 +0000)]
Some methods renamed
Roland Häder [Sat, 5 Mar 2011 14:33:47 +0000 (14:33 +0000)]
Wrong path :(
Roland Häder [Sat, 5 Mar 2011 14:32:35 +0000 (14:32 +0000)]
Before previous commit I was about to write only a 'test' cruncher, now this will be our real first cruncher application, more may follow, if the time is right
Roland Häder [Sat, 5 Mar 2011 14:28:14 +0000 (14:28 +0000)]
Copyright notice updated, our first hub application introduced (which is incomplete)
- First application 'test cruncher' for the hub (better say a cloud) introduced.
This test cruncher shall try to find the right key for an encrypted message.
It handles all "crunched" keys over work units like dnetc (see
http://www.distributed.net for instance) does but instead of a central server
it uses the "hub" as a cloud to store settings and work units in. This is, of
course, not yet done. More on the wiki: http://wiki.ship-simu.org
- Copyright updated
- TODOs.txt updated
Roland Häder [Mon, 28 Feb 2011 23:29:11 +0000 (23:29 +0000)]
'public static final' is the right thing, some variables renamed to make clear what they are for
Roland Häder [Wed, 16 Feb 2011 12:58:21 +0000 (12:58 +0000)]
New server IP is 188.138.90.169
Roland Häder [Sun, 13 Feb 2011 15:26:31 +0000 (15:26 +0000)]
Properties changed
Roland Häder [Sun, 13 Feb 2011 15:19:06 +0000 (15:19 +0000)]
Introduced package fragmenter class to fragment network packages into smaller chunks
Roland Häder [Sun, 13 Feb 2011 00:00:45 +0000 (00:00 +0000)]
Properties added/fixed, externals updated (www. is out-dated)
Roland Häder [Tue, 14 Sep 2010 14:19:43 +0000 (14:19 +0000)]
SVN properties globally set
Roland Häder [Sun, 5 Sep 2010 08:48:11 +0000 (08:48 +0000)]
Now configurable static IPs are supported, Connectable rewritten, docs updated
Roland Häder [Thu, 2 Sep 2010 21:05:40 +0000 (21:05 +0000)]
Misleading message updated
Roland Häder [Wed, 7 Jul 2010 09:59:04 +0000 (09:59 +0000)]
Empty session id added to configuration, this will fix a NoConfigEntryException if there is no node data available
Roland Häder [Tue, 6 Jul 2010 15:45:34 +0000 (15:45 +0000)]
Support for non-regular ports added
Roland Häder [Thu, 17 Jun 2010 16:03:21 +0000 (16:03 +0000)]
Self-connect continued (still broken), some code moved to generic classes to encapsulate it
Roland Häder [Wed, 16 Jun 2010 23:46:45 +0000 (23:46 +0000)]
TODOs.txt updated
Roland Häder [Wed, 16 Jun 2010 23:45:49 +0000 (23:45 +0000)]
HubConnectionHelper is more a factory than a helper class, HelpableHub interface introduced
Roland Häder [Sun, 13 Jun 2010 21:39:52 +0000 (21:39 +0000)]
Opps... :-(
Roland Häder [Sun, 13 Jun 2010 21:38:38 +0000 (21:38 +0000)]
New Exception added, registering of session ids added:
- New PeerAlreadyRegisteredException added which is thrown when the peer is
already registered with the same session id
- Registering of peers with their session id basicly added, purging unfinished
Roland Häder [Sun, 6 Jun 2010 12:54:27 +0000 (12:54 +0000)]
New exception and interface added, continued development:
- New InvalidSessionIdException added which will be thrown if the session id doesn't pass a preg_match() test
- TODO: That above mentioned preg_match() and the other now needs to be moved out
- New interface LookupablePeerState for "lookupable peer states" added
- Looking up session ids in database basicly added
Roland Häder [Fri, 28 May 2010 03:09:03 +0000 (03:09 +0000)]
We use these setter/getter
Roland Häder [Fri, 28 May 2010 02:58:03 +0000 (02:58 +0000)]
Fixes for lookup table class
Roland Häder [Fri, 28 May 2010 02:33:36 +0000 (02:33 +0000)]
Added peer states and lookup table classes/interfaces:
- Added new PeerStateable interface for peer states
- Added new Lookupable interface for lookup tables
- Added new PeerStateFactory class for generating peer states
- Added new PeerStateLookupTable class for looking up peer states
- Added new NewConnectionPeerState class for new peer connections
Roland Häder [Fri, 28 May 2010 01:40:31 +0000 (01:40 +0000)]
New visitor added, handling of refused connections basicly implemented:
- New ShutdownSocketVisitor added. This visitor should shutdown a socket and
may notify other objects later on.
- Handling of refused connections (e.g. while announcement phase) basicly
implemented. Yet there is some work left to do.
Roland Häder [Sat, 22 May 2010 17:51:18 +0000 (17:51 +0000)]
Added constants for easier usage
Roland Häder [Sat, 22 May 2010 17:49:17 +0000 (17:49 +0000)]
Added getAddressPort() method to ease comparison with 'recipient' field
Roland Häder [Sat, 22 May 2010 17:21:36 +0000 (17:21 +0000)]
Added some basic checks on received TCP packages
Roland Häder [Sat, 22 May 2010 17:07:42 +0000 (17:07 +0000)]
The packageData array should be used for handling package data
Roland Häder [Sat, 22 May 2010 16:04:05 +0000 (16:04 +0000)]
Many classes/interfaces added/continued:
- New 'tag' SocketTag added
- New classes for connection helper added
- TCP connection helper is maybe useable
- UDP connection helper is not yet finished
- New class for self connections added
- HubTools added which should provide a set of static methods
- SocketRegistry from core project added
- Continued (but maybe not-working) announcement
Roland Häder [Wed, 19 May 2010 10:47:17 +0000 (10:47 +0000)]
No more required...
Roland Häder [Wed, 19 May 2010 10:44:58 +0000 (10:44 +0000)]
A lot 'FooClientBar' classes renamed to 'FooPeerBar' for naming convention, added more missing methods for socket discovery (still incomplete/dying code)
Roland Häder [Tue, 18 May 2010 19:57:58 +0000 (19:57 +0000)]
A whole bunch of classes/interfaces/exceptions added, many refacturings:
- New classes for "tag support" added. Tags can be the "object types" this hub
is going to share. But the purpose is kept somewhere generic so other purposes
may come.
- A way lot interfaces updated and added (sorry for lame description)
- New factories added: (read full description way down)
+ The SocketDiscoveryFactory creates singleton instances for socket discovery
+ The PackageDiscoveryFactory does the same for package recipient discovery
+ The RecipientListFactory creates instances for recipient lists
+ The PackageTagsFactory creates singleton instances for package tags
- New class RecipientList added which can be used for tracking recipients and
iterated on.
- New discovery classes added: ("Resolver" may also be fine naming these classes)
+ The PackageSocketDiscovery tries to "discover" the correct socket resource
depending on the package's tags. Well, mostly this will be TCP, but UDP
should not be forgotten... ;-)
+ The PackageRecipientDiscovery tries to "discover" the correct recipient
based on the 'recipient' entry in the package data. May sound not obvious
but there are some recipients which are no session id and/or IP:port
combination. A good example is 'upper' which is an alias for all upper
nodes like bootstrap, master and list nodes are.
- New ObjectTypeRegistry added. This registry does hold a list of all valid
and therefore "shareable" object types in an XML. For example 'announcement'
should only be shared with the 'upper' nodes, and only spreaded once.
- New (required for above registry) ObjectRegistryTemplateEngine added to handle
the object_registry.xml file.
- Announcement descriptor updated
- TODOs.txt/README updated
Roland Häder [Tue, 18 May 2010 16:19:42 +0000 (16:19 +0000)]
Better handling of missing emergency_exit.ctp
Roland Häder [Mon, 26 Apr 2010 21:09:47 +0000 (21:09 +0000)]
Handling outgoing network packages basicly finished (but not the sending part itself)
Roland Häder [Mon, 26 Apr 2010 14:53:24 +0000 (14:53 +0000)]
Handling of server socket resource basic finished in BaseListener, interfaces added
Roland Häder [Sat, 24 Apr 2010 02:48:48 +0000 (02:48 +0000)]
New wider interface added, several refacturings:
- New interface ProtocolHandler added which should be extended by listener and
writer interfaces. Please do not implement this interface, we only use it for
the socket registry.
- BaseListener refactured: Handling of server socket swapped out to new
(incomplete) socket registry.
- Callback function removed from network package to save a lot (!) memory
- New network package target 'upper' added which is an alias for all upper hubs
- deliverEnqueuedPackage() basicly finished
- Some code cosmetics applied
- TODOs.txt updated
Roland Häder [Mon, 12 Apr 2010 20:25:14 +0000 (20:25 +0000)]
Package class renamed, continued (sorry for lame description)
- Class NetworkPackageFactory was renamed from PackageFactory because the class
does actually create only network package classes
- HubList class added for handling connected/disconnected classes
- Some tasks (e.g. NetworkPackageWriterTask) continued
Roland Häder [Sat, 27 Mar 2010 15:19:33 +0000 (15:19 +0000)]
Not thrown exceptions removed from doc-tag, TODOs added and updated
Roland Häder [Sat, 27 Mar 2010 04:07:17 +0000 (04:07 +0000)]
Check wether the hub is active simplified (may also improve speed)
Roland Häder [Sat, 27 Mar 2010 03:33:08 +0000 (03:33 +0000)]
Now the factory method is moved over to the newly introduced PackageFactory class
Roland Häder [Sat, 27 Mar 2010 03:23:56 +0000 (03:23 +0000)]
New factory method createPackageInstance introduced to ease creating a singleton netowork package instance
Roland Häder [Sat, 27 Mar 2010 02:47:02 +0000 (02:47 +0000)]
Extra new-lines removed
Roland Häder [Fri, 26 Mar 2010 04:20:25 +0000 (04:20 +0000)]
Network package writer added, shutdown refactured, fixes:
- New NetworkPackageWriterTask class introduced (unfinished)
- Shutdown procedure refactured to make use of the visitor pattern
- Several fixes/improvements, hub announcement still not working
- TODOs.txt updated
Roland Häder [Sun, 21 Mar 2010 00:28:56 +0000 (00:28 +0000)]
Removed some dublicate instances to avoid confusion
Roland Häder [Mon, 1 Mar 2010 01:28:02 +0000 (01:28 +0000)]
State pattern added, hub continued (sorry, I let it lay around uncommitted for long time...)
Roland Häder [Wed, 3 Feb 2010 11:58:43 +0000 (11:58 +0000)]
Added missing todo-builder.sh script / svn:executable removed from PHP scripts
Roland Häder [Wed, 27 Jan 2010 01:47:08 +0000 (01:47 +0000)]
State pattern classes for node states added, factory added, copyright updated
Roland Häder [Tue, 22 Dec 2009 15:12:57 +0000 (15:12 +0000)]
Non-blocking enforced and skipped handling packages from main server socket. This fixes a 'Transport endpoint is not connected' warning
Roland Häder [Tue, 22 Dec 2009 10:21:24 +0000 (10:21 +0000)]
For line better zero
Roland Häder [Tue, 22 Dec 2009 10:20:56 +0000 (10:20 +0000)]
Fixed missing file/line array elements
Roland Häder [Tue, 22 Dec 2009 08:51:40 +0000 (08:51 +0000)]
Hub descriptor extended, template engine added:
- New template engine AnnouncementTemplateEngine added which should parse
hub announcement descriptors (XML)
- Hub announcement descriptor extended with listener (ports) information
- Some Missing config entries added (classes, file extensensions, etc.)
- Other minor improvements
- Copyright fixed (was 'Core', should be 'Hub')
Roland Häder [Wed, 9 Dec 2009 20:50:36 +0000 (20:50 +0000)]
Generic index.php is now masking backtrace data
Roland Häder [Wed, 2 Dec 2009 21:42:24 +0000 (21:42 +0000)]
Now the idle loop task comes first
Roland Häder [Wed, 2 Dec 2009 20:21:20 +0000 (20:21 +0000)]
Global fix for svn::execuetable ... :(
Roland Häder [Wed, 2 Dec 2009 20:10:23 +0000 (20:10 +0000)]
Global fix/add/update:
- index.php updated in all projects from ship-simu
- Missing todo-builder.sh added
- TODOs.txt updated in all projects
- Missing svn:executable added
Roland Häder [Sat, 21 Nov 2009 19:45:13 +0000 (19:45 +0000)]
Added a filter for checking if all requirements in PHP did meet
Roland Häder [Sun, 27 Sep 2009 20:42:58 +0000 (20:42 +0000)]
Added new exception, script dies:
- Added new class_HubAlreadyAnnouncedException
- Node status XML added
- Self announcement XML extended
- Script does die in HubSelfAnnouncementTask
Roland Häder [Sat, 26 Sep 2009 18:56:11 +0000 (18:56 +0000)]
Self-announcement rewritten to a task
Roland Häder [Fri, 25 Sep 2009 21:15:08 +0000 (21:15 +0000)]
publishHubDescriptor() added, TODOs.txt updated
Roland Häder [Fri, 18 Sep 2009 13:49:41 +0000 (13:49 +0000)]
Message added when no node list was previously found.
Roland Häder [Fri, 18 Sep 2009 13:43:33 +0000 (13:43 +0000)]
Fixed a missing config entry due to core updated
Roland Häder [Mon, 7 Sep 2009 22:11:17 +0000 (22:11 +0000)]
package.sh rewritten
Roland Häder [Sat, 5 Sep 2009 19:46:19 +0000 (19:46 +0000)]
'template_class' renamed to 'web_template_class'
Roland Häder [Sun, 30 Aug 2009 22:20:26 +0000 (22:20 +0000)]
Instance variable rewritten
Roland Häder [Fri, 21 Aug 2009 17:44:34 +0000 (17:44 +0000)]
Web output instance added
Roland Häder [Fri, 21 Aug 2009 14:33:59 +0000 (14:33 +0000)]
Tasks are now visited
Roland Häder [Thu, 20 Aug 2009 17:00:28 +0000 (17:00 +0000)]
Tasks added and registered with handler:
- HubUpdateCheckTask added which shall periodicly check for updates
- HubPingTask added which shall ping outgoing hub connections
- Both above tasks are registered (see config.php for timing details)
- Missing configuration entries added
Roland Häder [Wed, 19 Aug 2009 20:57:44 +0000 (20:57 +0000)]
TODOs.txt updated
Roland Häder [Wed, 19 Aug 2009 20:29:21 +0000 (20:29 +0000)]
TODOs.txt updated
Roland Häder [Wed, 19 Aug 2009 20:28:15 +0000 (20:28 +0000)]
Error codes changed:
- Error code 107 is also 'transport endpoint not connected'. But why does it
raise?
- general_error is now known as unknown_error because our state resolver
doesn't know how to handle it.
Roland Häder [Wed, 19 Aug 2009 20:18:19 +0000 (20:18 +0000)]
Interfaces, BaseDecorator added:
- New interface DecoratorVisitor introduced which should be implemented by
decorator visitors (so? ;-) )
- New interface ListenerVisitor introduced
- Listener are now visited by ActiveTaskVisitor and should listen again for
incoming data
- NEWS/TODOs.txt updated
Roland Häder [Tue, 18 Aug 2009 19:44:35 +0000 (19:44 +0000)]
Self-test added, interfaces/classes extended:
- Self-test task HubSelfConnectTask added which should connect to public IP
number for checking if we are reachable from outside
- Interface Connectable extended with method processAllPendingQueries()
- Template for tasks extended with Taskable interface implementation
- Attribute listInstance from two (!) base classes move to core
- Type-hints from IteratorAggregate changed to our own Listable interface
- Method visitQuery() added to visitor ActiveTaskVisitor
- Template for query connector classes extended to match against latest changes
in Connectable interface
- Configureable iterator added to LocalQueryConnector
- Template for query classes extended with Visitable interface
- LocalQuery extended with same interface
- Missing configuration entries added
Roland Häder [Mon, 17 Aug 2009 21:25:17 +0000 (21:25 +0000)]
Debug line added for startup of tasks
Roland Häder [Mon, 17 Aug 2009 20:55:33 +0000 (20:55 +0000)]
Should be protected, but wby does it run on latest PHP 5.2.10???
Roland Häder [Mon, 17 Aug 2009 20:40:23 +0000 (20:40 +0000)]
Deprecated visitor removed, new added, rewrites:
- Deprecated visitor HandlerListenerPoolVisitor removed due to pools cannot be
tasks (see ActiveTaskVisitor) and we don't need to visit it again for handling
pooled listeners because we handle them directly.
- QueryConnectorVisitor added for visiting query connector classes
- LocalQueryList added for handling queries in an OOP'ed way
- LocalQuery added which runs queries locally
Roland Häder [Sun, 16 Aug 2009 01:52:10 +0000 (01:52 +0000)]
Exceptions/interfaces/classes added:
- InvalidTaskException added which will be thrown when ->valid() returns false
- TaskVisitor and QueryVisitor interfaces added
- Interface Taskable added which should be implemented by tasks
- TaskPoolIterator added (currently it is like DefaultIterator class)
- ActiveTaskVisitor (unfinished) added and some visitXyz() methods added
- Dublicate shutdown visitor directory removed
- TaskHandler now is able to hanle tasks basicly (some unimplemented features)
- Missing configuration entries added
Roland Häder [Sat, 15 Aug 2009 21:34:07 +0000 (21:34 +0000)]
Tasks extended, iterator added:
- TaskList class added which encapsulates our task list array
- Default iterator with simple incrementing index added
- Handling of all tasks (unfinished) added
- Adding of tasks basicly finished (with debug output)
Roland Häder [Sat, 15 Aug 2009 19:11:19 +0000 (19:11 +0000)]
Idle loop added, tasks are simple things to do
Roland Häder [Sat, 15 Aug 2009 13:18:11 +0000 (13:18 +0000)]
Application qa added
Roland Häder [Sat, 15 Aug 2009 12:53:02 +0000 (12:53 +0000)]
Old, lost directories removed (see repos qa)
Roland Häder [Fri, 14 Aug 2009 23:53:18 +0000 (23:53 +0000)]
todo-builder.sh and TODOs.txt added
Roland Häder [Tue, 11 Aug 2009 21:48:33 +0000 (21:48 +0000)]
Task handler added, a lot rewrites
- Task handler added
- New Interface HandleableTask added (for task handlers)
- A lot interfaces/classes/exceptions extended (sorry for lame description)
- State resolver added (shouldn't we move this to core?)
Roland Häder [Tue, 11 Aug 2009 16:50:29 +0000 (16:50 +0000)]
Interfaces added, shutdown filter added, deprecated methods removed
Roland Häder [Mon, 10 Aug 2009 14:16:30 +0000 (14:16 +0000)]
Rewritten to use detectServerAddress() instead of getServerAddress()