Roland Häder [Thu, 3 Dec 2020 07:49:01 +0000 (08:49 +0100)]
Continued:
- when socket_listen() is left alone with default (0) value for the $backlog
parameter and you have SYN cookies disabled in kernel, you will later get
"Resource temporary unvailable" (code 11)
- this can be only fixed by setting high enough values in config-local.php (not
config.php) which depends on your used operanting system.
- commented out noisy debug lines
- converted old array() style to "new" [] way
Roland Häder [Thu, 3 Dec 2020 06:59:26 +0000 (07:59 +0100)]
Continued:
- renamed StorableSocket->getSocketRecipient() to getSocketRecipientUnl()
- commented-in noisy debug lines as a strange "Resource temporary unavailable"
happens when SYN cookies are disabled in kernel
- added type-hint for primitive variables
- not really noisy debug lines but later no more needed
Roland Häder [Wed, 2 Dec 2020 21:21:52 +0000 (22:21 +0100)]
Continued:
- fixed E_NOTICE and other stuff
- added config entry for disabling (default: enabled) reusing TCP addresses
- commented-in noisy debug lines SYNC flooding happens on my system with this
program
- updated core framework
Roland Häder [Wed, 2 Dec 2020 07:33:47 +0000 (08:33 +0100)]
Continued:
- moved DHT-related template classes to proper sub directories
- replaced CompileableTemplate with newly added CompileableXmlTemplate
interface as this is closer to what the class is about
- updated core framework
Roland Häder [Wed, 2 Dec 2020 04:56:14 +0000 (05:56 +0100)]
Continued:
- removed PackageData->$rawXml instance and used $packageContent instead
- used ApplicationEntryPoint::exitApplication() instead of die()
- updated core framework
Roland Häder [Wed, 2 Dec 2020 03:47:42 +0000 (04:47 +0100)]
Continued:
- package and message are different things, so there is no "new package arrived"
but more decompressed XML
- renamed methods for better understanding them
- added missing config key
- updated core framework
Roland Häder [Tue, 1 Dec 2020 22:41:52 +0000 (23:41 +0100)]
Continued:
- moved $handerInstance from monolithic BaseFrameworkSystem class (the class
later cleaned from such instances is doing fine) to proper classes
- updated core framework
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