Roland Häder [Fri, 18 May 2012 22:10:00 +0000 (22:10 +0000)]
First bind(), then listen(), then settings
Roland Häder [Fri, 18 May 2012 22:07:10 +0000 (22:07 +0000)]
Moved some socket initializations before socket_bind(), made setErrorCode() public
Roland Häder [Fri, 18 May 2012 21:28:26 +0000 (21:28 +0000)]
Also always update this, is there an auto-executing hook available on client-side?
Roland Häder [Fri, 18 May 2012 21:27:29 +0000 (21:27 +0000)]
More debugging, ignore *.serialized in node_list
Roland Häder [Fri, 18 May 2012 20:25:49 +0000 (20:25 +0000)]
To much noisy, sorry guys
Roland Häder [Fri, 18 May 2012 20:24:56 +0000 (20:24 +0000)]
Also this ... :(
Roland Häder [Fri, 18 May 2012 20:21:15 +0000 (20:21 +0000)]
Also this ...
Roland Häder [Fri, 18 May 2012 20:20:56 +0000 (20:20 +0000)]
Added internal IP handling (unfinished), added package tags
Roland Häder [Thu, 17 May 2012 21:59:25 +0000 (21:59 +0000)]
Opps ... :(
Roland Häder [Thu, 17 May 2012 21:50:24 +0000 (21:50 +0000)]
Again #2 ... :(
Roland Häder [Thu, 17 May 2012 21:49:45 +0000 (21:49 +0000)]
Again ... :(
Roland Häder [Thu, 17 May 2012 21:48:54 +0000 (21:48 +0000)]
Opps ...
Roland Häder [Thu, 17 May 2012 21:47:29 +0000 (21:47 +0000)]
Added announcement answer XML, template engine and acceptance of announcements
Roland Häder [Thu, 17 May 2012 19:54:29 +0000 (19:54 +0000)]
Please don't call addArrayToDataSet() in class NodeMessageSelfConnectHandler, this is never supported
Roland Häder [Thu, 17 May 2012 19:26:44 +0000 (19:26 +0000)]
Added missing node state 'reachable'
Roland Häder [Thu, 17 May 2012 19:22:53 +0000 (19:22 +0000)]
Added method nodeHasSelfConnected() which changes the state to 'reachable' which is true from the node's self-view
Roland Häder [Thu, 17 May 2012 19:16:44 +0000 (19:16 +0000)]
Added basicly finished (except TODO) handling of self-connect messages
Roland Häder [Thu, 17 May 2012 19:09:17 +0000 (19:09 +0000)]
Makes more sense ... opps
Roland Häder [Thu, 17 May 2012 19:08:21 +0000 (19:08 +0000)]
die() expanded with __METHOD__, wrong things removed from NodeMessageSelfConnectHandler's method
Roland Häder [Thu, 17 May 2012 19:05:31 +0000 (19:05 +0000)]
Added class for handling self-connect messages
Roland Häder [Thu, 17 May 2012 18:56:15 +0000 (18:56 +0000)]
Added 'registering of other nodes' ability, added protocol name to relevant method signatures
Roland Häder [Thu, 17 May 2012 15:23:05 +0000 (15:23 +0000)]
Added handler for announcement messages (not yet functional)
Roland Häder [Thu, 17 May 2012 13:46:06 +0000 (13:46 +0000)]
Opps ... :(
Roland Häder [Thu, 17 May 2012 13:42:21 +0000 (13:42 +0000)]
While self-connect is running, it might be already announced which is fine
Roland Häder [Thu, 17 May 2012 11:48:48 +0000 (11:48 +0000)]
Added *REQUIRED* call compileConfigInVariables(), added missing config entry 'node_id'
Roland Häder [Thu, 17 May 2012 10:28:01 +0000 (10:28 +0000)]
Added missing method readSelfConnectData()
Roland Häder [Thu, 17 May 2012 10:26:21 +0000 (10:26 +0000)]
Opps ...
Roland Häder [Thu, 17 May 2012 10:25:03 +0000 (10:25 +0000)]
Added filter for self-connect attempts
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 [Wed, 16 May 2012 20:49:52 +0000 (20:49 +0000)]
Copyright notice updated
Roland Häder [Tue, 15 May 2012 16:47:40 +0000 (16:47 +0000)]
Removed unused nodes, they may never come back...
Roland Häder [Tue, 8 May 2012 22:12:41 +0000 (22:12 +0000)]
Some comments improved #2
Roland Häder [Tue, 8 May 2012 22:03:21 +0000 (22:03 +0000)]
Some comments improved
Roland Häder [Tue, 8 May 2012 22:01:29 +0000 (22:01 +0000)]
Renamed HubDescriptorHelper to HubAnnouncementHelper for making it more clear
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