Roland Häder [Sun, 22 Nov 2020 17:58:49 +0000 (18:58 +0100)]
Continued:
- moved $listInstance from monothlithic BaseFrameworkSystem to proper classes
- NodePingTask had compared to all other tasks a parameter in factory method,
now this is initialized within the factory method
- updated core framework
Roland Häder [Sat, 7 Nov 2020 16:46:44 +0000 (17:46 +0100)]
Continued:
- re-added $databaseInstance from monolithic BaseFrameworkSystem
- BaseFrameworkSystem->hex2dec() has moved to StringUtils::hex2dec()
- updated core framework
Roland Häder [Sat, 7 Nov 2020 16:46:44 +0000 (17:46 +0100)]
Continued:
- re-added $databaseInstance from monolithic BaseFrameworkSystem
- BaseFrameworkSystem->hex2dec() has moved to StringUtils::hex2dec()
- updated core framework
Roland Häder [Sat, 7 Nov 2020 13:40:30 +0000 (14:40 +0100)]
Continued:
- monolithing BaseFrameworkSystem->getConfigInstance() is no more, best is to
use FrameworkBootstrap::getConfigurationInstance() instead
- updated core framework
Roland Häder [Sat, 7 Nov 2020 13:00:43 +0000 (14:00 +0100)]
Continued:
- ApplicationHelper now doesn't have all these fields set, BaseApplication holds it
- all __construct()'s $className parameter have now a type-hint "string" set
- updated core framework
Roland Häder [Fri, 6 Nov 2020 15:41:01 +0000 (16:41 +0100)]
Continued:
- reduces memory-footprint: moved $protocolName to proper classes, not in a
monolithic super class
- moved $packageHandlerInstance, $listenerInstance, $sourceInstance to proper
classes, monolithic classes are a bad design idea
- removed $infoInstance, $protocolInstance, $locatorInstance,
$communicatorInstance, $packageInstance and getter/setter as it was no longer
used
Roland Häder [Fri, 6 Nov 2020 13:14:43 +0000 (14:14 +0100)]
Continued:
- if "Resource temporary unavailable" occurs but there had been some read data
from the socket, don't discard it but add it to the stacker
- used getLastSocketErrorMessage() instead of "raw" socket_strerror()
Roland Häder [Wed, 4 Nov 2020 13:25:09 +0000 (14:25 +0100)]
Continued:
- fixed config entry for controller resolver, still the fuse command class is
not implemented yet
- imported missing class
- updated core framework
- updated README file
Roland Häder [Tue, 3 Nov 2020 19:08:17 +0000 (20:08 +0100)]
Continued:
- the SocketFactory class was invoking complicated createConnectionFromPackageInstance()
method which didn't fit naming-convention. It is now renamed to
"create<ClassName>" scheme and can be created by default ObjectFactory's
factory methods.
- improved some debug lines
Roland Häder [Mon, 2 Nov 2020 15:34:20 +0000 (16:34 +0100)]
Continued:
- isIncomingSocketRegistered() now requires a Listenable instance as parameter
- further fixes for receiving raw package data. It seem to be a race-condition?
- updated core framework
Roland Häder [Tue, 27 Oct 2020 20:18:40 +0000 (21:18 +0100)]
Continued:
- renamed $unlInstance to $locatorInstance
- implemented findNodeByUniversalNodeLocator()
- WIP: started implementing looking up session id by UNL (internal or external)
Roland Häder [Tue, 27 Oct 2020 12:28:04 +0000 (13:28 +0100)]
Continued:
- moved socketResource from 'core' project to SocketContainer class
- added more debug lines
- fixed comments for $packageData (array) to $packageInstance transition
- updated core framework
Roland Häder [Tue, 27 Oct 2020 09:57:57 +0000 (10:57 +0100)]
Continued:
- renamed packageInstance -> handlerInstance as this is no longer the package
but the handler of the package
- added some debug lines
- 'fake' package status removed
Roland Häder [Tue, 27 Oct 2020 09:12:33 +0000 (10:12 +0100)]
Continued:
- There was some mixing of recipient type (direct, dht, self, upper, ...)
with the node's (recipient's) session id. This is now fixed and sorted out.
So the recipient type remains that way and is never being changed to session
id.
Roland Häder [Mon, 26 Oct 2020 10:01:11 +0000 (11:01 +0100)]
Continued:
- renamed *ByPackageData to *ByPackageInstance
- renamed more old-lost remains of $packageData (removed type-unsafe array) with
modern and type-safe $packageInstance
Roland Häder [Mon, 26 Oct 2020 04:38:00 +0000 (05:38 +0100)]
Continued:
- Implemented SocketContainer::bindSocketToFile()
- ops, needs to be listenPort and not listenAddress again
- socketType is not yet know in constructor, this will be later set
- updated core framework
Roland Häder [Mon, 26 Oct 2020 04:16:26 +0000 (05:16 +0100)]
Continued:
- $this and $this->getSocketResource() can be reduced to $this only and let the
exception's code invoke the getter method.
- Removed deprecated $socketData array, this info is now fully stored in $this
already
Roland Häder [Mon, 26 Oct 2020 03:54:19 +0000 (04:54 +0100)]
Continued:
- SocketContainer->bindSocketTo() is now split into bindSocketToFile() and
bindSocketToListener()
- also fixed wrong getter/setter invocation
Roland Häder [Mon, 26 Oct 2020 00:16:37 +0000 (01:16 +0100)]
Continued:
- Let's keep nodeInstance as a class field to avoid tons of invocations of the
factory method. It is a bit of a trade-off, as the memory foot-print may
raise but so does performance and invocations may lower resulting in better
performance.
Roland Häder [Sun, 25 Oct 2020 12:27:11 +0000 (13:27 +0100)]
Continue:
- removed all deprecated SOCKET_ARRAY_INDEX_* constants with proper setter
invocations, still most are not implemented yet
- needed to make setListerInstance() public
Roland Häder [Thu, 1 Aug 2019 06:32:34 +0000 (08:32 +0200)]
Continued:
- more rewrites of $packageData array to PackageData class ($packageInstance)
- renamed NetworkPackage to NetworkPackageHandler and moved to proper namespace
- updated 'core'
Roland Häder [Tue, 13 Nov 2018 23:36:02 +0000 (00:36 +0100)]
Continued: (finally!)
- updated different (!) copyright years to 2018 ...
- added missing "imports"
- added debug lines
- added output current protocol name in base decorator class
- added support for ip:port in NetworkPackage class (was only partly there)
- added namespaces to config entries
- possible fix is now included for self-connect bug
Roland Häder [Sun, 8 Jul 2018 06:58:33 +0000 (08:58 +0200)]
Continued:
- introduced NodeLocatorUtils to avoid monolithic code style
- avoided abusing exceptions for program flow control (don't do that) by
pre-checking conditions and then avoid bad invocations
- updated framework to latest commit
Roland Häder [Sun, 8 Jul 2018 05:07:09 +0000 (07:07 +0200)]
Continued:
- no need for scanner class and task, the URL source class can handle this
- setApplicationName() is no longer needed
- invoke setCommandName() (maybe exists?) instead
- Removed crawler instance from BaseHubSystem
- moved URL source instance from same class to BaseUrlSourceTask
- updated core to latest commit
Roland Häder [Thu, 5 Jul 2018 21:46:14 +0000 (23:46 +0200)]
Continued:
- added missing getter for UNL protocol
- ops, outgoing TCP/UDP/any connections should be set to 'outgoing', not
'server'
- commented out/in debug lines
Roland Häder [Thu, 18 Jan 2018 23:09:51 +0000 (00:09 +0100)]
Continued:
- renamed NodeHelper -> Node and bound it to FrameworkInterface as this is no
node helper (see Helper interface) but the node instance itself
- fixed namespaces in class template files (no real class file, like "class_")
- fixed "new" domain (shipsimu.org, without the dash)
- fixed bug in bad private key's hash
- need to create a dummy array with node data when node is starting first time
(no data in db/node_data/ )
- started (unfinished) fixing assertions
- updated core framework to latest commit
Roland Häder [Wed, 3 Jan 2018 23:44:41 +0000 (00:44 +0100)]
Continued:
- ported crawler sub project to new 'core' framework
- had to copy some setter/getter to base classes where BaseHubSystem was not
inherited from
Roland Häder [Wed, 3 Jan 2018 22:04:33 +0000 (23:04 +0100)]
Continued:
- started porting crawler sub project to new framework
- fixed namespaces for task classes, \Task should always be included
- added commented-out/in debug lines for hub
Roland Häder [Tue, 2 Jan 2018 22:49:06 +0000 (23:49 +0100)]
Continued:
- updated core framework to latest commit
- ported main application to new framework with Tld\Domain\ namespace added
and many many more
- updated .gitignore
- updated .gitattributes
Roland Häder [Sat, 17 Jun 2017 20:39:55 +0000 (22:39 +0200)]
Continued a bit:
- implemented info-filler method with data from socket peer
- implemented enableSocketOutOfBandData()
- commented out many noisy debug lines
- made some debug lines to noisy, as they are really noisy under PHP 7
- some small fixes (e.g. tpzo in method name)
- updated 'core' framework to latest commit
Roland Häder [Tue, 30 May 2017 20:12:23 +0000 (22:12 +0200)]
Continued a bit:
- splitted sender address and port to have both being copyable (needed later on)
to ShareableInfo class
- used some lesser socket_strerr() but socketInstance calls
Roland Häder [Tue, 30 May 2017 19:27:00 +0000 (21:27 +0200)]
Fixes:
- these iterators must be stored separately, else file/tcp/udp socket instances
getting entirely mixed up
- also better splitted configuration entries, some more don't really hurt
- better debug message (info was not really correct)
Roland Häder [Tue, 30 May 2017 15:54:53 +0000 (17:54 +0200)]
Continued:
- added much more debug lines
- UdpListener::initListener() or so, is now rewritten (much untested)
- BaseListener::ifListenerAcceptsPackageData() is now implemented and should
always be used to check if the package's socket protocol is accepted
- imported SocketAlreadyRegisteredException
- imported ShareableInfo
- imported LogicException (and maybe others)
- need to get socket resource from socketInstance
- updated core