Roland Häder [Fri, 17 Feb 2023 08:15:06 +0000 (09:15 +0100)]
Continued:
- requestIsValid() is now renamed to a propper setter setIsRequestValid() and
with no default (setters don't have default values)
- updated 'core' framework
Roland Häder [Wed, 11 May 2022 00:08:20 +0000 (02:08 +0200)]
Continued:
- rewrote more assert() calls in a public method to hard exception throws
- ops, $bufferSize is 2nd parameter in this mask
- enabled a debug line
Roland Häder [Tue, 10 May 2022 13:56:32 +0000 (15:56 +0200)]
Continued:
- renamed getSubRegistryKey() -> generateSubRegistryKeyFromInfoInstance() as
this is not a getter
- also included connection type (e.g. 'server') into sub-registry key
- more debug lines added
- removed superflous $peerSuffix parameter as the ':0' may cause confusion
Roland Häder [Wed, 2 Mar 2022 04:08:32 +0000 (05:08 +0100)]
Continued:
- "get" SHOULD be exclusively for getters, not for fetching record from
database or determining ("getting") something based on an other object
Roland Häder [Thu, 16 Dec 2021 14:32:09 +0000 (15:32 +0100)]
Continued:
- *_socket_listen_backlog is now being "cached" in static array to avoid some
"expensive" invocations on configuration class
- updated 'core' framework
Roland Häder [Thu, 26 Aug 2021 02:13:03 +0000 (04:13 +0200)]
Continued:
- Use readCsvFileLine()'s 2nd parameter to check if read CSV lines are properly
formatted (3 elements are present)
- updated 'core' framework
Roland Häder [Sun, 15 Aug 2021 17:47:28 +0000 (19:47 +0200)]
Continued:
- I still need to find the actual root cause why $infoInstance is set to NULL
- so commented in some debug lines, replaced concat (.) with sprintf() (string
mask). Yes, I know you don't like to read the 2nd word -> MASK! <- but it
isn't my fault. So let's leave it there.
Roland Häder [Thu, 12 Aug 2021 10:45:36 +0000 (12:45 +0200)]
Continued:
- throw a OutOfBoundsException if an array element is not there
- initialize private key data record with NULL (stored currently as empty string)
- Do not shorten config keys, write them clearly!
Roland Häder [Mon, 4 Jan 2021 02:29:32 +0000 (03:29 +0100)]
Continued:
- renamed default crawler names to 'distributed' as this is now the crawler's
default mode. Later more modes, e.g. 'local' can be added which won't register
any remote jobs and maybe not communicate with the node (hub) to avoid crawler
info distribution
- Just a wild idea!
- updated core framework
Roland Häder [Sun, 20 Dec 2020 11:12:15 +0000 (12:12 +0100)]
Rewrite:
- constructors of concrete (=implementing non-abstract) classes should be
private to avoid somone making an inheriting class of a concrete class
- this is good practice: only make inheriting (concrete) classes of abstract
classes, not another concrete class only because you want that functionality
in your class, too
- the private constructor also stops you from doing such wrong things, no need
to make all concrete classes final
- updated core framework
- removed deprecated exceptions, as the SPL's can do it, too
Roland Häder [Sun, 20 Dec 2020 10:56:00 +0000 (11:56 +0100)]
Rewrite:
- renamed $configEntry to $configKey
- added missing type-hintes for primitive variables
- added condition-checks for string/int parameter and thrown an IAE when the
condition is not met
Roland Häder [Wed, 9 Dec 2020 01:42:40 +0000 (02:42 +0100)]
Continued:
- renamed .htacces to .gitkeep and emptied them
- no self::createObjectByConfiguredName() anymore, only as usual over
ObjectFactory reference
- ops createProtocolHandlerByType() is not ObjectFactory ...
- updated core framework
Roland Häder [Mon, 7 Dec 2020 06:46:54 +0000 (07:46 +0100)]
Continued:
- moved $stackSourceInstance to BaseUrlSource
- also introduced BaseUrlSource->initStacks()
- renamed UrlSource::CRAWL_JOB_ARRAY_* to URL_SOURCE_ARRAY_*
- added more debug lines
Roland Häder [Sun, 6 Dec 2020 07:51:42 +0000 (08:51 +0100)]
Continued:
- Application instance in generic registry was a little of an overdoze when
there is ApplicationHelper::getSelfInstance() around, this means lesser
method invocations and a bit smaller footprint (one registry entry lesser)
- updated core framework
Roland Häder [Sun, 6 Dec 2020 05:54:05 +0000 (06:54 +0100)]
Continued:
- removed all .htaccess files, please secure it on your own on server-side's
configuration
- introduced LocateableNodeTrait, so far only used in BaseProtocolHandler
Roland Häder [Sun, 6 Dec 2020 05:38:05 +0000 (06:38 +0100)]
Continued:
- moved BaseHubSystem::BOOTSTRAP_NODES_SEPARATOR to Node interface as this is a
node-related only constant
- moved BaseHubNode::NODE_TYPE_* to Node interface
Roland Häder [Sun, 6 Dec 2020 04:21:50 +0000 (05:21 +0100)]
Continued:
- now all stacks must be initialized no matter which method is invoked, so no
"auto-magic" initialization as this was a bit Spagetti-like code
- updated core framework
Roland Häder [Thu, 3 Dec 2020 22:39:34 +0000 (23:39 +0100)]
Continued:
- renamed more $packageInstance to $handlerInstance when it is type of
Receivable
- fixed handling of repeated node_data record creation
- removed bad 'invalid' default values
- updated core framework
Roland Häder [Thu, 3 Dec 2020 19:31:45 +0000 (20:31 +0100)]
Continued:
- throw IAE when e.g. a string parameter is empty
- introduced DeliverableTrait
- improved/commented in debug messages
- added type-hints for primitive variables
Roland Häder [Thu, 3 Dec 2020 15:31:58 +0000 (16:31 +0100)]
Continued:
- renamed NodeInformationDatabaseFrontend->ifNodeDataIsFound() to
findFirstNodeData() and also changed return type from bool to $resultInstance
(SearchableResult)
- changed type-hint from BaseHubNode (abstract class) to Node (interface)
- improved some debug messages
Roland Häder [Thu, 3 Dec 2020 08:38:00 +0000 (09:38 +0100)]
Continued:
- $socketInstance is required in BaseConnectionHelper, so moved the trait
loading there
- also fixed NULL reference as it might not be set at all times
Roland Häder [Thu, 3 Dec 2020 08:28:01 +0000 (09:28 +0100)]
Continued:
- added some type-hints for primitive variables
- added some checks on parameters
- some debug messages improved (sprintf() is the norm when parameters are logged)
Roland Häder [Thu, 3 Dec 2020 08:07:08 +0000 (09:07 +0100)]
Continued:
- removed no longer needed config entry
- used StorableSocket::SOCKET_PROTOCOL_TCP instead of direct 'tcp'
- improved some exception messages a bit
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