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 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 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: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 [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 [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 [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, 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 [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 [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: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 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 [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 [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 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 [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: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'