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
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 [Wed, 20 Apr 2011 04:15:33 +0000 (04:15 +0000)]
Typo fixed, visitor introduced, SVN property set:
- New visitor introduced which will monitor incoming raw data
- Typo in method name fixed
- SVN property "eol-style" set to native
Roland Häder [Tue, 19 Apr 2011 01:26:58 +0000 (01:26 +0000)]
Removed old-lost comments, moved two class instances around:
- Removed old-lost comments about the application selector
- Moved class instances around to have the pool listener available in the method
which checks for newly arrived raw data
Roland Häder [Mon, 18 Apr 2011 18:25:40 +0000 (18:25 +0000)]
New singleton-factories introduced:
- Two new registry-based singleton-factories introduced:
+ The FragmenterFactory produces singleton fragmenter instances
+ The ProducerFactory produces singleton producer instance of different types
- Rewritten the code that Base64 encoding is now transparently implemented
around the socket_write/read() functions. So all data is now being
transparently transfered to other peers in Base64 encoding.
- Further renames of the package streamer classes to raw-data streamers
- Minor improvements here and there
- TODOs.txt updated
Roland Häder [Sat, 9 Apr 2011 00:19:09 +0000 (00:19 +0000)]
Added encapsulation:
- Encapsulated adding of entries to the producer's out-going/incoming queue
- Encapsulated checking if the out-going/incoming queue's size has reached a
configurable limit
- Encapsulated initialization (and forced re-init) of both queues
Roland Häder [Tue, 5 Apr 2011 23:39:08 +0000 (23:39 +0000)]
The key producer may produce as twice as keys per second:
- The key producer runs now with an interval delay of 5ms
- Some debug messages/comments updated
Roland Häder [Tue, 5 Apr 2011 23:33:13 +0000 (23:33 +0000)]
Cruncher continued and rewritten to use states:
- States 'init' and 'virgin' introduced
- Needed cruncher parts refactured to use the new states
- Creation of node/cruncher states is now done in factories
- Key producer added which will produce keys if the required state 'virgin' is
beging detected. This producer works without a loop which is recommended for
task-based applications
- A lot other improvements
- TODOs.txt updated
Roland Häder [Sun, 3 Apr 2011 00:57:05 +0000 (00:57 +0000)]
Added all node types, moved iterator class:
- Added all types of (hub/cloud) nodes for easy coding
- Moved key producer iterator class to sub directory
- TODOs.txt updated
Roland Häder [Thu, 31 Mar 2011 01:34:25 +0000 (01:34 +0000)]
Generation of test units and keys continued:
- Database folder for crunher projects added
- Introduced two methods to MessageHelper
- Introduced an iterator for test unit producers to generate keys
- TODOs.txt updated
Roland Häder [Tue, 29 Mar 2011 16:31:30 +0000 (16:31 +0000)]
Swapped code, moved/renamed classes and interfaces:
- Swapped code between TestUnitSource and CryptoRandomUnitMessageHelper, the
helper is now encapsulating and the source is now a source for the helper
- Introduced generic Helper interface to existing helper interfaces (from latest
'core' changes)
- Renamed/moved some classes/interfaces
- TODOs.txt updated
Roland Häder [Tue, 29 Mar 2011 15:55:38 +0000 (15:55 +0000)]
Added more classes (source for anything 'sourced', etc):
- Added some (partly unused) more classes for creating test units
- CryptoRandomMessageHelper is currently unused
- Added factory to create unit source classes
- TODOs.txt updated
Roland Häder [Sat, 26 Mar 2011 17:04:37 +0000 (17:04 +0000)]
Test units continued, XML MIME type worked-around:
- XMLs must have the MIME type "text/plain" in subversion, with
"application/xml" they would be threated as binary files... :-(
- Template engine for cruncher test units basicly finished
- TODOs.txt updated
Roland Häder [Fri, 25 Mar 2011 00:42:17 +0000 (00:42 +0000)]
Continued on test-unit producer, fixed copyright:
- Added an unfinished template engine for the test-unit producer
- Added basic XML templates for test-unit producers
- Fixed copyright line (it was copyrighted to the Ship-Simu developer team)
- TODOs.txt updated
Roland Häder [Tue, 22 Mar 2011 00:16:48 +0000 (00:16 +0000)]
In 'core' introduced XmlTemplateEngineFactory used:
- Rewrite to new XmlTemplateEngineFactory (which saves code where some required
steps could be forgotten)
- Added a method in test unit producer for initialization
- TODOs.txt updated