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()
Roland Häder [Sat, 8 Aug 2009 21:25:15 +0000 (21:25 +0000)]
Network package handling added (unfinished)
- Interfaces for handling of network packages (Networkable) added
- Base classes and first TCP network package handler added
- Prefix gos- removed from ZIP file name (package.sh)
Roland Häder [Sat, 8 Aug 2009 19:16:32 +0000 (19:16 +0000)]
New iterator introduced, low-level TCP connections supported (unfinished):
- New iterator NetworkListenIterator added which should be used for listening
to network packages through multiple listeners.
- Several getter added to get a list of all listeners
Roland Häder [Fri, 7 Aug 2009 22:59:17 +0000 (22:59 +0000)]
Debug line removed
Roland Häder [Fri, 7 Aug 2009 21:33:20 +0000 (21:33 +0000)]
Moved a lot classes, added visitors and methods
- Moved a lot classes in more specific folders
- Listener visitor added
- Some more stubs (from new visitor) implemented
- Intefaces updated/added to reflect current changes
Roland Häder [Fri, 7 Aug 2009 19:10:22 +0000 (19:10 +0000)]
Method addExtraFilters() added to all node types (partial stub)
Roland Häder [Fri, 7 Aug 2009 18:46:28 +0000 (18:46 +0000)]
node_initializier_filter must be the first one...
Roland Häder [Fri, 7 Aug 2009 18:36:02 +0000 (18:36 +0000)]
Some filter classes renamed
Roland Häder [Wed, 5 Aug 2009 16:53:56 +0000 (16:53 +0000)]
Iterator continued (not fully implemented), iteration on all clients and hubs should now work
Roland Häder [Tue, 4 Aug 2009 23:28:37 +0000 (23:28 +0000)]
Exceptions, interfaces and many classes added/rewritten:
- Exceptions for lists (Iterator Pattern) added
- Interfaces for Visitor Pattern added
- Interface Listable (Iterator Pattern) added
- Base listener extended with Visitor Pattern method accept()
- List and list group classes added (Iterator Pattern)
- Shutdown visitor class for listener pool added
Roland Häder [Tue, 4 Aug 2009 00:27:45 +0000 (00:27 +0000)]
More shutdown filters added, interface introduced
- Shutdown filter for deinit of queues/queries and listener pool added
- All listeners and listener decorators are now Visitable (see below)
- Interface 'Visitable' introduced which we will use for the Visitor Pattern
- Duplicate 'Shutdown' in class name and config entry removed
Roland Häder [Mon, 3 Aug 2009 23:19:28 +0000 (23:19 +0000)]
Double declarations removed
Roland Häder [Mon, 3 Aug 2009 23:11:43 +0000 (23:11 +0000)]
News Updated, filters renamed/commented:
- NEWS file updated to reflact some latest changes
- Filters for newly added 'shutdown' filter chain added
- The main while() loop is commented out, which is fine at the momement
- Some filter class templates renamed
- Filter chain 'hub_activation' renamed to 'activation'
Roland Häder [Mon, 3 Aug 2009 21:47:11 +0000 (21:47 +0000)]
Update of session_id should now work
Roland Häder [Mon, 3 Aug 2009 21:32:10 +0000 (21:32 +0000)]
First attempt to store session id in database
Roland Häder [Mon, 3 Aug 2009 18:26:50 +0000 (18:26 +0000)]
Updated to latest core changes (encapsulated )
Roland Häder [Sun, 2 Aug 2009 18:17:15 +0000 (18:17 +0000)]
Wrapper added for node list
Roland Häder [Sun, 2 Aug 2009 10:44:19 +0000 (10:44 +0000)]
Filters and chains added:
- Filter chain 'hub_activation' added
- Initializing of listeners is now done by a bootstrap filter
Roland Häder [Sat, 1 Aug 2009 21:34:57 +0000 (21:34 +0000)]
Extra bootstrapping steps added
Roland Häder [Sat, 1 Aug 2009 21:31:02 +0000 (21:31 +0000)]
Generation of session id basicly added. IP/port added
Roland Häder [Tue, 28 Jul 2009 17:27:35 +0000 (17:27 +0000)]
readConfig() is not naming convention, renamed to getConfigEntry()
Roland Häder [Sat, 25 Jul 2009 09:31:55 +0000 (09:31 +0000)]
No longer needed initialization of requestInstance (already given by parameter)
Roland Häder [Fri, 24 Jul 2009 21:37:40 +0000 (21:37 +0000)]
Node now initializes listeners again (but in a filtered way)
Roland Häder [Thu, 23 Jul 2009 22:50:42 +0000 (22:50 +0000)]
Bootstrap filter for initialization of queues added, bootstrap filters should work now
Roland Häder [Thu, 23 Jul 2009 22:20:53 +0000 (22:20 +0000)]
Paths to my dev environment updated, node template class updated
Roland Häder [Thu, 23 Jul 2009 21:46:34 +0000 (21:46 +0000)]
bootstrapAcquireHubId() must be public, interface extended with methods from BaseHubNode class
Roland Häder [Thu, 23 Jul 2009 20:26:10 +0000 (20:26 +0000)]
Bootstrap filters filled with some content (basicly...)
Roland Häder [Sun, 19 Jul 2009 17:51:12 +0000 (17:51 +0000)]
More filters for bootstrapping added
Roland Häder [Sun, 19 Jul 2009 17:44:45 +0000 (17:44 +0000)]
Now protected for other filter chain classes
Roland Häder [Sun, 19 Jul 2009 16:25:42 +0000 (16:25 +0000)]
Filter for node initialization added, more preparation for intercepting filter pattern
Roland Häder [Sun, 19 Jul 2009 15:58:26 +0000 (15:58 +0000)]
Filters/commands added, missing config entries added
Roland Häder [Sat, 18 Jul 2009 07:20:14 +0000 (07:20 +0000)]
Is the XxxxDefaultController deprecated?
Roland Häder [Mon, 13 Jul 2009 20:32:15 +0000 (20:32 +0000)]
LocalClientQueue added (unfinished)
Roland Häder [Mon, 13 Jul 2009 19:15:49 +0000 (19:15 +0000)]
Stub call doTestQuery() added to run an initial test query
Roland Häder [Wed, 8 Jul 2009 22:44:10 +0000 (22:44 +0000)]
More general state classes added
Roland Häder [Wed, 8 Jul 2009 22:40:08 +0000 (22:40 +0000)]
State class and class templates added
Roland Häder [Wed, 8 Jul 2009 22:38:01 +0000 (22:38 +0000)]
State interfaces prepared
Roland Häder [Wed, 8 Jul 2009 21:21:55 +0000 (21:21 +0000)]
Rewritten to shortcut method debugOutput()
Roland Häder [Wed, 8 Jul 2009 21:16:28 +0000 (21:16 +0000)]
Prefix added
Roland Häder [Wed, 8 Jul 2009 21:02:36 +0000 (21:02 +0000)]
Interface Poolable rewritten to PoolableListener and kept as generic interface
Roland Häder [Wed, 8 Jul 2009 20:01:24 +0000 (20:01 +0000)]
Some variables from copy&pase fixed...
Roland Häder [Wed, 8 Jul 2009 19:58:49 +0000 (19:58 +0000)]
shutdownSocket() method stub added
Roland Häder [Wed, 8 Jul 2009 19:46:41 +0000 (19:46 +0000)]
Better TCP listener implemented, client pool added, some code moves
Roland Häder [Wed, 8 Jul 2009 16:53:03 +0000 (16:53 +0000)]
Now resists in core