Roland Häder [Tue, 8 May 2012 20:33:15 +0000 (20:33 +0000)]
More debug messages
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 [Sun, 6 May 2012 00:44:00 +0000 (00:44 +0000)]
Some comments updated (very minor)
Roland Häder [Sun, 6 May 2012 00:09:31 +0000 (00:09 +0000)]
Removed obsolete parameter
Roland Häder [Sat, 5 May 2012 23:54:52 +0000 (23:54 +0000)]
Also this :(
Roland Häder [Sat, 5 May 2012 23:53:15 +0000 (23:53 +0000)]
Forgot this ... :(
Roland Häder [Sat, 5 May 2012 23:52:59 +0000 (23:52 +0000)]
Decoding of raw package message basicly finished, external public ip now included in announcement
Roland Häder [Sat, 5 May 2012 23:40:14 +0000 (23:40 +0000)]
Added commented out debug message
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 [Sat, 28 Apr 2012 08:37:05 +0000 (08:37 +0000)]
Introduced new meta peer state 'problem'
Roland Häder [Fri, 27 Apr 2012 20:33:52 +0000 (20:33 +0000)]
Use getServerAddress() instead of ConsoleTools
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:23:40 +0000 (20:23 +0000)]
Larger access level ... :(
Roland Häder [Fri, 27 Apr 2012 20:21:06 +0000 (20:21 +0000)]
Also this ...
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 20:07:43 +0000 (20:07 +0000)]
Used node id (ex. 'hub id') as old salt and no fixed salt because it will be different from node to node
Roland Häder [Fri, 27 Apr 2012 20:01:13 +0000 (20:01 +0000)]
This block has to be the last to make sure that pendingData contains all received blocks
Roland Häder [Fri, 27 Apr 2012 19:54:36 +0000 (19:54 +0000)]
Very noisy debug messages commented out
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:49:27 +0000 (16:49 +0000)]
This is to much noise in debug output
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 [Wed, 25 Apr 2012 18:29:06 +0000 (18:29 +0000)]
Removed deprecated scripts (please delete them even if you get conflicts)
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 [Sun, 22 Apr 2012 20:53:23 +0000 (20:53 +0000)]
Opps :(
Roland Häder [Sun, 22 Apr 2012 20:17:29 +0000 (20:17 +0000)]
Fixed all getSelfInstance
Roland Häder [Sun, 22 Apr 2012 19:47:38 +0000 (19:47 +0000)]
Rewrote numbered indexes to assoziative
Roland Häder [Sat, 24 Mar 2012 08:27:37 +0000 (08:27 +0000)]
Fixed a typo, added an assert()
Roland Häder [Fri, 23 Mar 2012 22:44:01 +0000 (22:44 +0000)]
Opps ...
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 [Fri, 23 Mar 2012 22:19:18 +0000 (22:19 +0000)]
Switched around sub-tasks, commented out noisy debug line
Roland Häder [Fri, 23 Mar 2012 21:32:46 +0000 (21:32 +0000)]
More fix for the EOP chunk
Roland Häder [Fri, 23 Mar 2012 21:12:46 +0000 (21:12 +0000)]
The final hash is important ... ;)
Roland Häder [Fri, 23 Mar 2012 21:10:06 +0000 (21:10 +0000)]
Naming thing fixed :(
Roland Häder [Fri, 23 Mar 2012 21:08:20 +0000 (21:08 +0000)]
Refactured EOP chunk, now it is formatted as any regular chunk. This makes the code in ChunkHandler class not so complicated just for the EOP chunk
Roland Häder [Fri, 23 Mar 2012 20:32:02 +0000 (20:32 +0000)]
Small fix :(
Roland Häder [Fri, 23 Mar 2012 20:30:33 +0000 (20:30 +0000)]
Basicly finished adding verfied chunks to the final arrays (chunk data and hashes in separate arrays)
Roland Häder [Wed, 21 Mar 2012 22:01:40 +0000 (22:01 +0000)]
Introduced private methods for validation of hash and serial number (very basic check)
Roland Häder [Wed, 21 Mar 2012 21:36:10 +0000 (21:36 +0000)]
Moved some constants and added block comments for better reading
Roland Häder [Wed, 14 Mar 2012 14:10:16 +0000 (14:10 +0000)]
Debug lines added, constant name fixed, internal TODO closed
Roland Häder [Sun, 4 Mar 2012 22:53:12 +0000 (22:53 +0000)]
Commented out noisy debug line
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 [Sun, 26 Feb 2012 00:26:16 +0000 (00:26 +0000)]
Continued with hub development: validation of chunk hash added
Roland Häder [Sat, 25 Feb 2012 18:09:00 +0000 (18:09 +0000)]
Removed var_dump() called, added handleAvailableChunk() but unfinished with a die() call
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 [Wed, 15 Feb 2012 22:57:36 +0000 (22:57 +0000)]
Added a stacker for chunk handler which handles final chunks, implemented adding all chunks to that new stacker
Roland Häder [Wed, 15 Feb 2012 22:08:19 +0000 (22:08 +0000)]
Renamed chunkHash to eopHash to solve conflict betweeen call parameter name and local variable name
Roland Häder [Wed, 15 Feb 2012 22:06:57 +0000 (22:06 +0000)]
Added isValidFinalChunk()
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 [Sun, 12 Feb 2012 11:44:06 +0000 (11:44 +0000)]
Some comments improved, minor changes
Roland Häder [Sun, 12 Feb 2012 11:26:56 +0000 (11:26 +0000)]
Renamed it to make it clear what it does
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 16:03:43 +0000 (16:03 +0000)]
Renamed 'seperator' to 'separator'
Roland Häder [Sat, 11 Feb 2012 15:56:30 +0000 (15:56 +0000)]
Using the separator char in PACKAGE_MASK was duplicate, used assert() in assembleDecodedDataToPackage() to make sure there is at least one pending
Roland Häder [Sat, 11 Feb 2012 14:34:13 +0000 (14:34 +0000)]
Choosed other separator chars for package data
Roland Häder [Sat, 11 Feb 2012 11:39:56 +0000 (11:39 +0000)]
Changed separators to prevent wrong detection on ip:port
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, 7 Feb 2012 20:34:20 +0000 (20:34 +0000)]
Renamed (opps)
Roland Häder [Tue, 7 Feb 2012 20:31:05 +0000 (20:31 +0000)]
Refactured handling of socket errors, old code is commeted out and will be removed on-demand (if the proper handler call-back is finished)
Roland Häder [Wed, 14 Dec 2011 04:48:40 +0000 (04:48 +0000)]
Fixed conflict with 'core' project
Roland Häder [Tue, 13 Dec 2011 05:44:58 +0000 (05:44 +0000)]
Commented out nosiy debug lines
Roland Häder [Wed, 30 Nov 2011 17:43:02 +0000 (17:43 +0000)]
Private attribute converted to class constant (it will never change in run-time)
Roland Häder [Wed, 30 Nov 2011 02:36:09 +0000 (02:36 +0000)]
Please extend BaseNodeState
Roland Häder [Mon, 21 Nov 2011 20:25:01 +0000 (20:25 +0000)]
Debug line added, inline comment improved
Roland Häder [Mon, 21 Nov 2011 19:52:45 +0000 (19:52 +0000)]
Hub project continued:
- Added a telnet listener for the 'chat' console
- Some minor cleanups/improvements
Roland Häder [Wed, 9 Nov 2011 01:55:59 +0000 (01:55 +0000)]
Some fixes
Roland Häder [Wed, 9 Nov 2011 01:52:00 +0000 (01:52 +0000)]
Also visit the NetworkPackage class to clear all stacks
Roland Häder [Tue, 8 Nov 2011 10:18:10 +0000 (10:18 +0000)]
Also this ...
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 [Sun, 6 Nov 2011 03:19:34 +0000 (03:19 +0000)]
Move to generic 'core' project, because getIndexKey() is generic code
Roland Häder [Sun, 6 Nov 2011 02:42:24 +0000 (02:42 +0000)]
Use $this->debugBackTrace() instead of die()
Roland Häder [Fri, 4 Nov 2011 19:36:47 +0000 (19:36 +0000)]
Hub project continued:
- ifPeerStateHasChanged() introduced (also to interface)
- Some if() block comments added (minor)
- Other minor improvements
Roland Häder [Sun, 30 Oct 2011 21:32:01 +0000 (21:32 +0000)]
Some minor improvements and important initialization of variables (opps)
Roland Häder [Tue, 25 Oct 2011 14:35:12 +0000 (14:35 +0000)]
Added missing port in regex
Roland Häder [Sun, 11 Sep 2011 09:28:26 +0000 (09:28 +0000)]
Some 'abstract' are required
Roland Häder [Thu, 1 Sep 2011 07:46:32 +0000 (07:46 +0000)]
debugBackTrace() was to hard here
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:46:58 +0000 (20:46 +0000)]
Multi-line comment
Roland Häder [Wed, 31 Aug 2011 20:45:48 +0000 (20:45 +0000)]
GZIP does maybe only work with SVN version of PHP, so we take ZLIB
Roland Häder [Wed, 31 Aug 2011 20:19:55 +0000 (20:19 +0000)]
Don't miss this to set ... :(
Roland Häder [Wed, 31 Aug 2011 20:18:46 +0000 (20:18 +0000)]
More debugging
Roland Häder [Wed, 31 Aug 2011 20:17:01 +0000 (20:17 +0000)]
Fixed 'undefined variable' in TcpConnectionHelper
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 [Sun, 29 May 2011 02:36:36 +0000 (02:36 +0000)]
Added missing interface
Roland Häder [Thu, 26 May 2011 04:18:58 +0000 (04:18 +0000)]
Documentation section added for 'chat console'
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
Roland Häder [Sat, 30 Apr 2011 00:11:14 +0000 (00:11 +0000)]
Rewrote unit source factory to registry pattern
Roland Häder [Sat, 30 Apr 2011 00:07:03 +0000 (00:07 +0000)]
Fixed name ...
Roland Häder [Thu, 28 Apr 2011 21:19:02 +0000 (21:19 +0000)]
Added check for is_array()
Roland Häder [Thu, 28 Apr 2011 16:02:32 +0000 (16:02 +0000)]
Handling of decoded raw data continued:
- Decoded raw data is now being handled over to the NetworkPackage class
- Therefore the Receivable interface has been extended with some more methods
- Further assembling of the handled decoded raw data is currently unfinished
- TODOs.txt updated
Roland Häder [Thu, 28 Apr 2011 00:51:22 +0000 (00:51 +0000)]
Added 'helper' word into configuration entry
Roland Häder [Mon, 25 Apr 2011 19:48:14 +0000 (19:48 +0000)]
Rewrote endless creation of iterator instances to registry-based 'caching'
Roland Häder [Sun, 24 Apr 2011 08:36:20 +0000 (08:36 +0000)]
TODOs.txt updated
Roland Häder [Sun, 24 Apr 2011 08:35:49 +0000 (08:35 +0000)]
Renamed a lot 'Peer' classes to 'Node' or 'Client' depending on what they are written for
Roland Häder [Wed, 20 Apr 2011 23:22:40 +0000 (23:22 +0000)]
Better IP address than hostname
Roland Häder [Wed, 20 Apr 2011 23:20:24 +0000 (23:20 +0000)]
Updated port number for default bootstrapper