Roland Häder [Thu, 17 May 2012 10:15:26 +0000 (10:15 +0000)]
Filter for package tags added, handling of new messages basicly finished
- Interface 'FilterablePackage' added
- Filter PackageAnnouncementTagFilter added which shall filter announcement
messages and process them
- Class PackageFilterChain added which is a specialized filter chain for
handling packages (or their messages)
- Stack for 'processed messages' added
- Other minor improvements
- TODOs.txt updated
Roland Häder [Tue, 8 May 2012 20:20:06 +0000 (20:20 +0000)]
The decoded package is now fully 'decoded' and got handled over into the 'new message' queue. Still there is unfinished business in handleNewlyArrivedMessage() (please pardon me).
Roland Häder [Sat, 28 Apr 2012 09:04:21 +0000 (09:04 +0000)]
Node-id is now deemed 'classified' because it will be used to create signatures, so don't give it out. If you do so, someone else can sign his traffic with your digital signature
Roland Häder [Fri, 27 Apr 2012 20:31:31 +0000 (20:31 +0000)]
Some important improvements:
- The recipient IP must now match with external IP + TCP port (please fix this!)
- ... or the reciepient IP must match with own (internal) IP
- TODOs.txt updated
Roland Häder [Fri, 27 Apr 2012 20:16:46 +0000 (20:16 +0000)]
Some refacturings:
- Moved [g|s]et[Node|Session]Id() from BaseHubNode to BaseHubSystem
- This allows $nodeInstance to be removed from some method signatures
- Debug line added (which will be noisy, I know)
- TODOs.txt updated
Roland Häder [Fri, 27 Apr 2012 19:38:26 +0000 (19:38 +0000)]
Again contunued on 'hub' project:
- Receiving (but not processing) of local received packages (not forwareded
packages) is now basicly finished
- TODOs.txt updated
Roland Häder [Fri, 27 Apr 2012 19:36:27 +0000 (19:36 +0000)]
'hub' project continued:
- prependHashChunk() does now add the full hash-chunk to the array, not chunked
by itself as before. This change made reading the package much easier.
- Added more debug lines
- TODOs.txt updated
Roland Häder [Fri, 27 Apr 2012 16:47:27 +0000 (16:47 +0000)]
'hub' project continued:
- discoverSocket() does now throw a NPE if listenerInstance is NULL
- Missing rewind() call in BaseList added
- Some debug messages added/improved
- TODOs.txt updated
Roland Häder [Fri, 27 Apr 2012 15:42:00 +0000 (15:42 +0000)]
'hub' project continued:
- New package "decoder" class added which has also a new interface Decodeable
- Handling of incoming packages almost finished
- Loop fixed the second $this->shutdownSocket() call is required
- Many objects have extended BaseFrameworkSystem but should be BaseHubSystem
- TODOs.txt updated
Roland Häder [Sun, 22 Apr 2012 22:19:52 +0000 (22:19 +0000)]
Some rewriting, TODOs.txt updated:
- Removed double $visitorInstance (BaseFrameworkSystem has already a generic
instance/setter/getter)
- Some list classes does not implement getListIterator(), please use
getIterator() instead, the default iterator is (as for now) fine here
- Moved code from constructor to factory method to minimize code in constructor
- TODOs.txt updated due to internal TODOs closed)
Roland Häder [Fri, 23 Mar 2012 22:25:55 +0000 (22:25 +0000)]
Added methods, added marking of completed arrays:
- Added methods for assembling chunks to the original package data from a
completed final array
- Added private method to mark the final array in ChunkHandler as completed
- Resorted method calls on the chunk handkler in HubChunkAssemblerTask
- Other minor rewrites
Roland Häder [Mon, 27 Feb 2012 23:04:37 +0000 (23:04 +0000)]
Continued with development:
- Renamed some methods in ChunkHandler (and interface)
- Added another missing public method to HandleableChunks interface
- Internal TODO added to implement a way to allow non-announcement packages
being hashed with the extra-salt. This extra-salt then needs to be included
in the announcement.
- TODOs.txt updated
Roland Häder [Thu, 16 Feb 2012 23:32:18 +0000 (23:32 +0000)]
Development (again) continued:
- New interface 'HandleableChunks introduced
- Task for chunk assembler/handler added, still some required methods are not
yet added (unfinished)
- Changed interfaces in some setter to more generic to allow more object
instances being set (which are still fine)
- Moved initialization of e.g. network package instance in task classes to
factory method to speed-up things in executeTask() method
- TODOs.txt updated
Roland Häder [Thu, 16 Feb 2012 21:55:50 +0000 (21:55 +0000)]
Development on 'hub' continued:
- Implemented IP check in DefaultPeerPool for selecting the right socket for
given raw package data array
- Variable naming fixed (opps)
- TODOs.txt updated
Roland Häder [Sun, 12 Feb 2012 22:40:48 +0000 (22:40 +0000)]
'hub' continued:
- New chunk handler class + factory added (no interface yet)
- FinalChunkVerificationException simplified (to make usage of it in chunk
handler)
- TODOs.txt updated
Roland Häder [Sat, 11 Feb 2012 23:31:26 +0000 (23:31 +0000)]
Removed package status from packageData array because recipients doesn't need this, moved (not really) fragmenter classes, added assembler class/interface, handling of undeclared package codes added (unfinished)
Roland Häder [Sat, 11 Feb 2012 00:13:26 +0000 (00:13 +0000)]
Continued on development of 'hub' project with many refactorings/addings:
- Added new exception UnexpectedPackageStatusException which will be thrown if
the package status is not the expected one before it got 'pop-ed' from the
stack
- Added HalfShutdownSocketVisitor which will remove the first failing entry
from the list
- Added ability to change package status by 'pop-ing' it from the stack and
then re-adding it
- Added (unused ATM) ConnectionRegistry which will serve for outgoing
connections
- Many medium/minor refacturings, still there is a while() loop that needs
refacturing to an iterator to not let the software stay to long in that
method (which would cause other connections being paused)
- TODOs.txt updated
Roland Häder [Fri, 10 Feb 2012 19:37:47 +0000 (19:37 +0000)]
all socketErrorFooHandler() methods shall be protected, else they can't be called (but detected by method_exists()); moved socket_set_nonblock() call above socket_connect()
Roland Häder [Tue, 8 Nov 2011 07:54:39 +0000 (07:54 +0000)]
Some global cleanups:
- getInstance() in BaseRegistry (non-static) conflicted with many classe
(static) where it was as singleton getter implemented
- $selfInstance is better that $thisInstance
Roland Häder [Tue, 8 Nov 2011 05:09:25 +0000 (05:09 +0000)]
Hub project continued:
- Method ifPeerStateHasChanged() renamed to isSamePeerState() to avoid negation
- Above method is now basicly finished
- Some code moved for above method
- Timings are turned on in this project
Roland Häder [Thu, 1 Sep 2011 07:43:54 +0000 (07:43 +0000)]
Code cleanups and project continued:
- Some 'abstract' removed
- Some code moved to HubTools::determineOwnExternalIp() to encapsulate it
- Peer state lookup now working partly (still one part is left)
- Other cleanups
Roland Häder [Wed, 31 Aug 2011 20:15:13 +0000 (20:15 +0000)]
Hub project continued:
- Prepared the code for HTTP requests (wait for it what it will become!)
- Added a lot peer/node states
- Added db/node_states/ directory
- Directory 'db/peer_states/ does now ignore *.serialized files
- Handling of DNAT/MASQUERADE combination which results in self_connect task
in a 'connection refused' state. This is normal with DNAT/MASQUERADE networks
- Rewritten/improved/completed a lot parts, yet not all is working, I cannot
remember all (to long ago)
- TODOs.txt updated
- NEWS/README a little updated
Roland Häder [Thu, 26 May 2011 04:14:04 +0000 (04:14 +0000)]
Basic (non-functional) classes added for a chat console (ever want to 'chat' or 'talk' with your node?) Please don't put this to high, at the moment it is only planed to give the node commands, no more