Roland Häder [Thu, 21 Feb 2013 22:57:14 +0000 (22:57 +0000)]
Added required assert() to make sure that the requested data in the array is available (do always use my constants if you create such arrays on your own)
Roland Häder [Mon, 18 Feb 2013 05:49:14 +0000 (05:49 +0000)]
Introduced Recipient implentation classes:
- DirectRecipient: A direct session id that needs solving into an ip:port
combination
- DhtRecipient: A virtual recipient that will cause querying the local DHT
data for possible recipients (unfinished)
- SelfRecipient: A virtual recipient, yet direct one, as this will be resolved
into *this* own node's session id
- UpperRecipient A virtual recipient for all boot, master and list node's
session ids
- Internal TODO for above closed (and nicely solved)
Roland Häder [Thu, 14 Feb 2013 22:21:13 +0000 (22:21 +0000)]
Renamed/moved classes, added DHT bootstrap (very early):
- Added very early and untested code for DHT bootstrap
- To make things easier, more HubFooBar classes has been renamed to NodeFooBar
- Also they have to be moved to a new place to fit class prefix
Roland Häder [Wed, 13 Feb 2013 20:48:05 +0000 (20:48 +0000)]
Rewritten remaining (old) debug calls:
- Used self::createDebugInstance(__CLASS__)->debugOutput() instead of
$fooInstance->debugOutput() as this is the newer approach
- Added method bootstrapDht() but still unimplemented
Roland Häder [Wed, 13 Feb 2013 19:37:48 +0000 (19:37 +0000)]
Renamed method:
- Renamed method findNodeBySessionId() to findNodeLocalBySessionId() as it only
searches in locally stored data and doesn't query other nodes
- Added final (temporary) configuration entry 'node_list' which will be a
BASE64-encoded and serialized array
Roland Häder [Tue, 12 Feb 2013 06:16:43 +0000 (06:16 +0000)]
Rewrites:
- Rewrote AnnouncementAnswerOkayHandler to use DHT instance instead of
deprecated wrapper class
- BaseHandler now implements Handleable because both are generics
- NodeDhtFacade now allows forced node updates, if no record is found an
exception is thrown. This should help to find "stealing" of session ids
Roland Häder [Tue, 12 Feb 2013 05:37:42 +0000 (05:37 +0000)]
Some rewrites towards more flexible code:
- Got rid of 'ip_port' field and converted it into 'external_ip' (as it is) and
'listen_port' fields
- Rewrote private method for session id -> ip:port resolving
Roland Häder [Thu, 7 Feb 2013 22:50:09 +0000 (22:50 +0000)]
Added interface, rewrote some parts:
- Introduced interface UnitDatabaseWrapper
- Rewrote wrapper instanciation by using specialized object factory
- Some other minor rewrites/fixes
Roland Häder [Thu, 7 Feb 2013 21:36:13 +0000 (21:36 +0000)]
Rewrites, some more methods:
- Added missing database "table" 'node_dht'
- Added methods for local node data handling
- There is now no more need for separate TCP/UDP ports
Roland Häder [Thu, 7 Feb 2013 18:28:17 +0000 (18:28 +0000)]
Added DHT initialization task (see comments below):
- The DHT initialization task is for preparing the DHT (if not yet done) in a
very early state ("virgin" state) and inserts/updates node's current data as
the first entry. With this data the node "knowns" only itself, not even the
upper nodes. They will be added later on.
- Renamed instance 'task' to 'task_handler' as it is always a task handler
class
- Other minor improvements
Roland Häder [Thu, 20 Dec 2012 22:59:35 +0000 (22:59 +0000)]
Use createDebugInstance() instead of direct debugOutput() method, removed DHT instance as it will be moved to some other place (where it would make sense)
Roland Häder [Thu, 20 Dec 2012 21:41:41 +0000 (21:41 +0000)]
Global fix for generating right class name for controller resolver (to make that code part more generic and later move out to 'core' project as a new class/method)