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
Roland Häder [Mon, 14 Mar 2011 20:39:55 +0000 (20:39 +0000)]
Generator/helper class for generating test units introduced:
- There is currently a loop in the cruncher class which is not recommended but maybe fine here
Roland Häder [Sat, 12 Mar 2011 00:24:29 +0000 (00:24 +0000)]
A lot new methods/class added and many cleanups:
- Double-quotes converted to single to speed-up things a little
- Wrong BaseconnectionInstance fixed
- New methods introduced to cruncher:
+ doFetchWorkUnits(): To fetch WUs or generate test units
+ enableIsActive/isActive(): To test/set if the cruncher is active
+ initBufferQueues(): To initialize in/out buffer queues
- addExtraCruncherFilters() renamed to addExtraFilters()
- This method has now project-wide a Controller instance as first argument
- Dublicate method call to addExtraFilters() removed which happens in the
rewriting process
- $appInstance renamed to $applicationInstance to have a better naming
convention
- Some deprecated classes removed (they where named wrong)
- BaseHubCruncher (a generic class) extended:
+ It does now check if the in-buffer queue is filled (depending on a
configurable threshold)
+ It implements initBufferQueues() from CruncherHelper interface
- Copyright fixed in HubMcryptCruncher
- The idle-loop task is now "genericly" registered in the TaskHandler class:
+ This implies that all task-based application will always have at least
one (but really generic) task.
+ The method hasTasksLeft() will return 'true' in all situations unless the
idle-loop task "kills" itself
- Generic cruncher-activation filter added
- The mentioned buffer queues are now initialized by a newly added filter class
and handled by an own task class
- More minor code-cleanups
- TODOs.txt updated
Roland Häder [Sat, 5 Mar 2011 14:32:35 +0000 (14:32 +0000)]
Before previous commit I was about to write only a 'test' cruncher, now this will be our real first cruncher application, more may follow, if the time is right
Roland Häder [Sat, 5 Mar 2011 14:28:14 +0000 (14:28 +0000)]
Copyright notice updated, our first hub application introduced (which is incomplete)
- First application 'test cruncher' for the hub (better say a cloud) introduced.
This test cruncher shall try to find the right key for an encrypted message.
It handles all "crunched" keys over work units like dnetc (see
http://www.distributed.net for instance) does but instead of a central server
it uses the "hub" as a cloud to store settings and work units in. This is, of
course, not yet done. More on the wiki: http://wiki.ship-simu.org
- Copyright updated
- TODOs.txt updated
Roland Häder [Sun, 13 Jun 2010 21:38:38 +0000 (21:38 +0000)]
New Exception added, registering of session ids added:
- New PeerAlreadyRegisteredException added which is thrown when the peer is
already registered with the same session id
- Registering of peers with their session id basicly added, purging unfinished
Roland Häder [Sun, 6 Jun 2010 12:54:27 +0000 (12:54 +0000)]
New exception and interface added, continued development:
- New InvalidSessionIdException added which will be thrown if the session id doesn't pass a preg_match() test
- TODO: That above mentioned preg_match() and the other now needs to be moved out
- New interface LookupablePeerState for "lookupable peer states" added
- Looking up session ids in database basicly added
Roland Häder [Fri, 28 May 2010 02:33:36 +0000 (02:33 +0000)]
Added peer states and lookup table classes/interfaces:
- Added new PeerStateable interface for peer states
- Added new Lookupable interface for lookup tables
- Added new PeerStateFactory class for generating peer states
- Added new PeerStateLookupTable class for looking up peer states
- Added new NewConnectionPeerState class for new peer connections
Roland Häder [Fri, 28 May 2010 01:40:31 +0000 (01:40 +0000)]
New visitor added, handling of refused connections basicly implemented:
- New ShutdownSocketVisitor added. This visitor should shutdown a socket and
may notify other objects later on.
- Handling of refused connections (e.g. while announcement phase) basicly
implemented. Yet there is some work left to do.