A whole bunch of classes/interfaces/exceptions added, many refacturings:
authorRoland Häder <roland@mxchange.org>
Tue, 18 May 2010 19:57:58 +0000 (19:57 +0000)
committerRoland Häder <roland@mxchange.org>
Tue, 18 May 2010 19:57:58 +0000 (19:57 +0000)
commit2efc7a1a33e9c7112100e7807c62de448d97e8f1
treef05bd0d0ff6c8941280b4a1e58e72bb6993968b4
parentd72ee014c987ef83598d7ff0fad659bb0f800d0f
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
51 files changed:
.gitattributes
application/hub/class_ApplicationHelper.php
application/hub/config.php
application/hub/exceptions.php
application/hub/exceptions/tags/.htaccess [new file with mode: 0644]
application/hub/exceptions/tags/class_InvalidTagException.php [new file with mode: 0644]
application/hub/interfaces/discovery/.htaccess [new file with mode: 0644]
application/hub/interfaces/discovery/class_DiscoverableRecipient.php [new file with mode: 0644]
application/hub/interfaces/discovery/class_DiscoverableSocket.php [new file with mode: 0644]
application/hub/interfaces/package/class_Deliverable.php
application/hub/interfaces/tags/.htaccess [new file with mode: 0644]
application/hub/interfaces/tags/class_Tagable.php [new file with mode: 0644]
application/hub/main/class_Base
application/hub/main/discovery/.htaccess [new file with mode: 0644]
application/hub/main/discovery/package/.htaccess [new file with mode: 0644]
application/hub/main/discovery/package/class_PackageRecipientDiscovery.php [new file with mode: 0644]
application/hub/main/discovery/socket/.htaccess [new file with mode: 0644]
application/hub/main/discovery/socket/class_PackageSocketDiscovery.php [new file with mode: 0644]
application/hub/main/factories/discovery/.htaccess [new file with mode: 0644]
application/hub/main/factories/discovery/class_PackageDiscoveryFactory.php [new file with mode: 0644]
application/hub/main/factories/discovery/class_SocketDiscoveryFactory.php [new file with mode: 0644]
application/hub/main/factories/lists/.htaccess [new file with mode: 0644]
application/hub/main/factories/lists/class_RecipientListFactory.php [new file with mode: 0644]
application/hub/main/factories/package/class_NetworkPackageFactory.php
application/hub/main/factories/states/class_StateFactory.php
application/hub/main/factories/tags/.htaccess [new file with mode: 0644]
application/hub/main/factories/tags/class_PackageTagsFactory.php [new file with mode: 0644]
application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php
application/hub/main/helper/hub/class_
application/hub/main/listener/tcp/class_TcpListener.php
application/hub/main/listener/udp/class_UdpListener.php
application/hub/main/lists/recipient/.htaccess [new file with mode: 0644]
application/hub/main/lists/recipient/class_RecipientList.php [new file with mode: 0644]
application/hub/main/package/class_NetworkPackage.php
application/hub/main/registry/.htaccess [new file with mode: 0644]
application/hub/main/registry/objects/.htaccess [new file with mode: 0644]
application/hub/main/registry/objects/class_ObjectTypeRegistry.php [new file with mode: 0644]
application/hub/main/tags/.htaccess [new file with mode: 0644]
application/hub/main/tags/class_ [new file with mode: 0644]
application/hub/main/tags/class_BaseTags.php [new file with mode: 0644]
application/hub/main/tags/package/.htaccess [new file with mode: 0644]
application/hub/main/tags/package/class_PackageTags.php [new file with mode: 0644]
application/hub/main/tasks/network/class_NetworkPackageWriterTask.php
application/hub/main/template/announcement/class_AnnouncementTemplateEngine.php
application/hub/main/template/objects/.htaccess [new file with mode: 0644]
application/hub/main/template/objects/class_ObjectRegistryTemplateEngine.php [new file with mode: 0644]
application/hub/templates/xml/announcement/self_announcement.xml
application/hub/templates/xml/object_registry/.htaccess [new file with mode: 0644]
application/hub/templates/xml/object_registry/object_registry.xml [new file with mode: 0644]
docs/README
docs/TODOs.txt