]> git.mxchange.org Git - hub.git/commitdiff
Fixes:
authorRoland Häder <roland@mxchange.org>
Tue, 30 May 2017 19:27:00 +0000 (21:27 +0200)
committerRoland Häder <roland@mxchange.org>
Fri, 21 Aug 2020 16:50:10 +0000 (18:50 +0200)
- 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)

Signed-off-by: Roland Häder <roland@mxchange.org>
application/hub/classes/container/socket/class_SocketContainer.php
application/hub/classes/factories/socket/class_SocketFactory.php
application/hub/classes/registry/socket/class_SocketRegistry.php
application/hub/config.php

index 688ea4cbb5cdfb28241bce1c50b592a08e269c74..5eabaaaad0fdd5ed7974744694f65765f0a44abf 100644 (file)
@@ -1411,7 +1411,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        private function setSocketOption ($level, $optionName, $optionValue) {
                // Trace message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: level=%s,optionName=%s,optionValue[%s]=%s - CALLED!', strtoupper($this->getSocketProtocol()), $level, $optionName, gettype($optionValue), $optionValue));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: level=%s,optionName=%s,optionValue[%s]=%s - CALLED!', strtoupper($this->getSocketProtocol()), $level, $optionName, gettype($optionValue), implode(',', $optionValue)));
 
                // Should be valid socket
                if (!$this->isValidSocket()) {
index beb2b2003f662a6f104639e5694588dce2f5244c..1fcf974b72a92fbdc1cc7ce943d107403285437c 100644 (file)
@@ -403,16 +403,19 @@ class SocketFactory extends ObjectFactory {
                // Trace message
                /* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('SOCKET-FACTORY: poolInstance=%s,socketInstance.socketResource=%s - CALLED!', $poolInstance->__toString(), $socketInstance->getSocketResource()));
 
+               // Get socket protocol
+               $socketProtocol = $socketInstance->getSocketProtocol();
+
                // Is the an iterator instance?
-               if (!Registry::getRegistry()->instanceExists('pool_iterator')) {
+               if (!Registry::getRegistry()->instanceExists('pool_iterator_' . $socketProtocol)) {
                        // Create iterator instance
-                       $iteratorInstance = $poolInstance->createListIteratorInstance('pool');
+                       $iteratorInstance = $poolInstance->createListIteratorInstance($socketProtocol . '_pool');
 
                        // Now store it in registry
                        Registry::getRegistry()->addInstance('pool_iterator', $iteratorInstance);
                } else {
                        // Get iterator from registry
-                       $iteratorInstance = Registry::getRegistry()->getInstance('pool_iterator');
+                       $iteratorInstance = Registry::getRegistry()->getInstance('pool_iterator_' . $socketProtocol);
                }
 
                // Is it valid?
@@ -479,7 +482,7 @@ class SocketFactory extends ObjectFactory {
                } // END - if
 
                // Set timeout to configured seconds
-               if (!$socketinstance->setSocketTimeoutOptions()) {
+               if (!$socketInstance->setSocketTimeoutOptions()) {
                        // Handle this socket error with a faked recipientData array
                        $socketInstance->handleSocketEror(__METHOD__, __LINE__, array('0.0.0.0', '0'));
                } // END - if
index dcc61469451035ed3a305b80041bbdb45c8643b7..4657192dda5b19f4dbbeeac57c8353b1316dabf7 100644 (file)
@@ -137,7 +137,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
         */
        private function isInfoRegistered (ShareableInfo $infoInstance) {
                // Debug message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY:info=' . $infoInstance->getProtocolName() . ' - CALLED!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: protocolName=' . $infoInstance->getProtocolName() . ' - CALLED!');
 
                // Get the key
                $key = $this->getRegistryKeyFromInfo($infoInstance);
@@ -146,7 +146,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
                $isRegistered = $this->instanceExists($key);
 
                // Debug message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY:info=' . $infoInstance->getProtocolName() . ',isRegistered=' . intval($isRegistered) . ' - EXIT!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: protocolName=' . $infoInstance->getProtocolName() . ',isRegistered=' . intval($isRegistered) . ' - EXIT!');
 
                // Return result
                return $isRegistered;
@@ -162,7 +162,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
         */
        public function isSocketRegistered (ShareableInfo $infoInstance, StorableSocket $socketInstance) {
                // Debug message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY:info=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ' - CALLED!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: protocolName=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ' - CALLED!');
 
                // Default is not registered
                $isRegistered = FALSE;
@@ -173,7 +173,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
                        $key = $this->getRegistryKeyFromInfo($infoInstance);
 
                        // Debug message
-                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: this=' . $this->__toString() . ',info=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',key=' . $key . ' - Trying to get instance ...');
+                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: this=' . $this->__toString() . ',protocolName=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',key=' . $key . ' - Trying to get instance ...');
 
                        // Get the registry
                        $registryInstance = $this->getInstance($key);
@@ -182,7 +182,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
                        $socketKey = $this->getSubRegistryKey($infoInstance);
 
                        // Debug message
-                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: this=' . $this->__toString() . ',info=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',key=' . $key . ',socketKey=' . $socketKey . ' - Checking existence ...');
+                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: this=' . $this->__toString() . ',protocolName=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',key=' . $key . ',socketKey=' . $socketKey . ' - Checking existence ...');
 
                        // Is it there?
                        if ($registryInstance->instanceExists($socketKey)) {
@@ -201,7 +201,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
                } // END - if
 
                // Debug message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY:info=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',isRegistered=' . intval($isRegistered) . ' - EXIT!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: protocolName=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ',isRegistered=' . intval($isRegistered) . ' - EXIT!');
 
                // Return the result
                return $isRegistered;
@@ -218,7 +218,7 @@ class SocketRegistry extends BaseRegistry implements Register, RegisterableSocke
         */
        public function registerSocketInstance (ShareableInfo $infoInstance, StorableSocket $socketInstance, array $packageData = array()) {
                // Debug message
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY:info=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ' - CALLED!');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-REGISTRY: protocolName=' . $infoInstance->getProtocolName() . ',socketResource[' . gettype($socketInstance->getSocketResource()) . ']=' . $socketInstance->getSocketResource() . ' - CALLED!');
 
                // Is the socket already registered?
                if ($this->isSocketRegistered($infoInstance, $socketInstance)) {
index ad4c2a7e205ca84e6f8b277a66a8abdae47a788e..0a9b48f61a27c3c9d96440c549ad8fdd4a9ffcf3 100644 (file)
@@ -102,8 +102,14 @@ $cfg->setConfigEntry('application_pool_class', 'Hub\Pool\Peer\DefaultPeerPool');
 // CFG: POOL-ENTRIES-LIST-CLASS
 $cfg->setConfigEntry('pool_entries_list_class', 'Hub\Lists\Pool\PoolEntriesList');
 
-// CFG: POOL-ITERATOR-CLASS
-$cfg->setConfigEntry('pool_iterator_class', 'CoreFramework\Iterator\DefaultIterator');
+// CFG: FILE-POOL-ITERATOR-CLASS
+$cfg->setConfigEntry('file_pool_iterator_class', 'CoreFramework\Iterator\DefaultIterator');
+
+// CFG: TCP-POOL-ITERATOR-CLASS
+$cfg->setConfigEntry('tcp_pool_iterator_class', 'CoreFramework\Iterator\DefaultIterator');
+
+// CFG: UDP-POOL-ITERATOR-CLASS
+$cfg->setConfigEntry('udp_pool_iterator_class', 'CoreFramework\Iterator\DefaultIterator');
 
 // CFG: SHUTDOWN-POOL-ITERATOR-CLASS
 $cfg->setConfigEntry('shutdown_pool_iterator_class', 'ShutdownPoolIterator');