]> git.mxchange.org Git - hub.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Thu, 3 Dec 2020 06:59:26 +0000 (07:59 +0100)
committerRoland Häder <roland@mxchange.org>
Thu, 3 Dec 2020 07:11:41 +0000 (08:11 +0100)
- 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

Signed-off-by: Roland Häder <roland@mxchange.org>
application/hub/classes/container/socket/class_SocketContainer.php
application/hub/classes/database/frontend/states/class_PeerStateLookupDatabaseFrontend.php
application/hub/classes/factories/info/class_ConnectionInfoFactory.php
application/hub/classes/factories/socket/class_SocketFactory.php
application/hub/classes/helper/connection/ipv4/class_BaseIpV4ConnectionHelper.php
application/hub/classes/pools/class_BasePool.php
application/hub/classes/pools/peer/class_DefaultPeerPool.php
application/hub/interfaces/container/socket/class_StorableSocket.php
application/hub/interfaces/pool/class_Poolable.php

index 166b1b7e0c51040e84bf3b8df8ce99a5e01c528d..b9601bd6f4e8a877fa830f5928069f25133df2de 100644 (file)
@@ -200,7 +200,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $matches = (($packageInstance->getRecipientUnl() !== '') && ($packageInstance->getRecipientUnl() === $unl));
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: matches=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($matches)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: matches=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($matches)));
                return $matches;
        }
 
@@ -212,11 +212,11 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function ifSocketResourceMatches ($socketResource) {
                // So, does both match?
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: socketResource[' . gettype($socketResource) . ']=' .$socketResource . ',storedResource[' . gettype($this->getSocketResource()) . ']=' . $this->getSocketResource());
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: socketResource[' . gettype($socketResource) . ']=' .$socketResource . ',storedResource[' . gettype($this->getSocketResource()) . ']=' . $this->getSocketResource());
                $matches = ((is_resource($socketResource)) && ($socketResource === $this->getSocketResource()));
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: matches=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($matches)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: matches=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($matches)));
                return $matches;
        }
 
@@ -240,7 +240,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $this->accept($visitorInstance);
 
                // Trace message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
        }
 
        /**
@@ -263,7 +263,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $this->accept($visitorInstance);
 
                // Trace message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
        }
 
        /**
@@ -329,15 +329,15 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
        }
 
        /**
-        * Getter for socket recipient array element
+        * Getter for socket recipient UNL
         *
-        * @return      $recipient      Recipient array element
+        * @return      $recipient      Recipient UNL
         * @throws      LogicException  If 'recipient' array element is not found
         * @throws      InvalidSocketException  If socket is invalid
         */
-       public function getSocketRecipient () {
+       public function getSocketRecipientUnl () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
@@ -347,7 +347,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $packageInstance = $this->getPackageDataInstance();
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: packageInstance.recipient=%s - EXIT!', strtoupper($this->getSocketProtocol()), $packageInstance->getRecipientUnl()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: packageInstance.recipient=%s - EXIT!', strtoupper($this->getSocketProtocol()), $packageInstance->getRecipientUnl()));
                return $packageInstance->getRecipientUnl();
        }
 
@@ -359,14 +359,14 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function getSocketRecipientAddress () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
                }
 
                // Get recipient
-               $recipient = $this->getSocketRecipient();
+               $recipient = $this->getSocketRecipientUnl();
 
                // Generate UNL instance for it
                $locatorInstance = UniversalNodeLocatorFactory::createUnlInstanceFromString($recipient);
@@ -375,7 +375,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $recipientAddress = $locatorInstance->getUnlAddress();
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: recipientAddress=%s - EXIT!', strtoupper($this->getSocketProtocol()), $recipientAddress));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: recipientAddress=%s - EXIT!', strtoupper($this->getSocketProtocol()), $recipientAddress));
                return $recipientAddress;
        }
 
@@ -387,14 +387,14 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function getSocketRecipientPort () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
                }
 
                // Get recipient
-               $recipient = $this->getSocketRecipient();
+               $recipient = $this->getSocketRecipientUnl();
 
                // Generate UNL instance for it
                $locatorInstance = UniversalNodeLocatorFactory::createUnlInstanceFromString($recipient);
@@ -403,7 +403,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $recipientPort = $locatorInstance->getUnlPort();
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: recipientPort=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($recipientPort)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: recipientPort=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($recipientPort)));
                return $recipientPort;
        }
 
@@ -413,16 +413,13 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         * @return      $isValidSocket  Whether the stored socket is valid
         */
        public function isValidSocket () {
-               // Get socket resource
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
-               $socketResource = $this->getSocketResource();
-
                // Is it valid?
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                // @TODO maybe add more checks? is_resource() is still to less
-               $isValidSocket = (is_resource($socketResource));
+               $isValidSocket = (is_resource($this->getSocketResource()));
 
                // Return status
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: isValidSocket=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($isValidSocket)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: isValidSocket=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($isValidSocket)));
                return $isValidSocket;
        }
 
@@ -434,20 +431,17 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function getLastSocketErrorCode () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
                }
 
-               // Get it from stored socket resource
-               $socketResource = $this->getSocketResource();
-
-               // Get error code
-               $errorCode = socket_last_error($socketResource);
+               // Get error code from socket
+               $errorCode = socket_last_error($this->getSocketResource());
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($errorCode)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - EXIT!', strtoupper($this->getSocketProtocol()), intval($errorCode)));
                return $errorCode;
        }
 
@@ -459,20 +453,17 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function getLastSocketErrorMessage () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
                }
 
-               // Get it from stored socket resource
-               $socketResource = $this->getSocketResource();
-
                // Get error code and message
                $errorMessage = socket_strerror($this->getLastSocketErrorCode());
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorMessage=%s - EXIT!', strtoupper($this->getSocketProtocol()), $errorMessage));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorMessage=%s - EXIT!', strtoupper($this->getSocketProtocol()), $errorMessage));
                return $errorMessage;
        }
 
@@ -483,22 +474,21 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function translateLastSocketErrorCodeToName () {
                // Get last error code
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $errorCode = $this->getLastSocketErrorCode();
 
                // Call "translate" method
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d', strtoupper($this->getSocketProtocol()), $errorCode));
                $codeName = $this->translateSocketErrorCodeToName($errorCode);
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: codeName=%s - EXIT!', strtoupper($this->getSocketProtocol()), $codeName));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: codeName=%s - EXIT!', strtoupper($this->getSocketProtocol()), $codeName));
                return $codeName;
        }
 
        /**
         * Tries to bind to socket file
         *
-        * @param       $bindAddress    Where to bind the socket to (e.g. Uni* socket file)
-        * @param       $bindPort               Optional port to bind to
         * @return      $result         Result from binding socket
         * @throws      InvalidSocketException  If socket is invalid
         * @throws      NullPointerException    If listener instance is not given
@@ -519,7 +509,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_bind($this->getSocketResource(), $this->getSocketFile());
 
                // Return result
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -552,7 +542,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_bind($this->getSocketResource(), $address, $port);
 
                // Return result
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -564,7 +554,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function listenToSocket () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
@@ -574,7 +564,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_listen($this->getSocketResource());
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -586,7 +576,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function enableSocketNonBlocking () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
@@ -596,7 +586,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_set_nonblock($this->getSocketResource());
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -608,7 +598,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function enableSocketReuseAddress () {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
@@ -618,7 +608,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = $this->setSocketOption(SOL_SOCKET, SO_REUSEADDR, 1);
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -637,7 +627,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                }
 
                // Get recipient UNL
-               $unlRecipient = $this->getSocketRecipient();
+               $unlRecipient = $this->getSocketRecipientUnl();
 
                // Create UNL instance from it. This will validate the connection
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: unlRecipient=%s', strtoupper($this->getSocketProtocol()), $unlRecipient));
@@ -648,7 +638,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_connect($this->getSocketResource(), $locatorInstance->getUnlAddress(), $locatorInstance->getUnlPort());
 
                // Return result
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -835,7 +825,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                }
 
                // Return result
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -846,7 +836,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function setSocketTimeoutOptions () {
                // Call setter method with configured values
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $result = $this->setSocketOption(SOL_SOCKET, SO_RCVTIMEO, [
                        // Seconds
                        'sec'  => FrameworkBootstrap::getConfigurationInstance()->getConfigEntry($this->getSocketProtocol() . '_socket_accept_wait_sec'),
@@ -855,7 +845,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                ]);
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -866,11 +856,11 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        public function enableSocketOutOfBandData () {
                // Call inner method
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $result = $this->setSocketOption(SOL_SOCKET, SO_OOBINLINE, 1);
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -913,19 +903,19 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $helperInstance = $infoInstance->getHelperInstance();
 
                // Is there a listener instance set?
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: listenerInstance[]=' . gettype($listenerInstance) . ',helperInstance[]=' . gettype($helperInstance));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: listenerInstance[]=' . gettype($listenerInstance) . ',helperInstance[]=' . gettype($helperInstance));
                if ($listenerInstance instanceof Listenable) {
                        // Set it here for later usage
-                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: Setting listenerInstance=' . $listenerInstance->__toString() . ' ...');
+                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: Setting listenerInstance=' . $listenerInstance->__toString() . ' ...');
                        $this->setListenerInstance($listenerInstance);
                } elseif ($helperInstance instanceof ConnectionHelper) {
                        // Set it here for later usage
-                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: Setting helperInstance=' . $helperInstance->__toString() . ' ...');
+                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-SOCKET: Setting helperInstance=' . $helperInstance->__toString() . ' ...');
                        $this->setHelperInstance($helperInstance);
                }
 
                // Trace message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: EXIT!', strtoupper($this->getSocketProtocol())));
        }
 
        /**
@@ -1005,7 +995,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                }
 
                // Return result
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
@@ -1062,7 +1052,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function getSocketErrorHandlerFromCode (int $errorCode) {
                // Create a name from translated error code
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - CALLED!', strtoupper($this->getSocketProtocol()), $errorCode));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - CALLED!', strtoupper($this->getSocketProtocol()), $errorCode));
                $handlerName = 'handleSocketError' . StringUtils::convertToClassName($this->translateSocketErrorCodeToName($errorCode));
 
                // Is the call-back method there?
@@ -1072,7 +1062,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                }
 
                // Return it
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: handlerName=%d - EXIT!', strtoupper($this->getSocketProtocol()), $handlerName));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: handlerName=%d - EXIT!', strtoupper($this->getSocketProtocol()), $handlerName));
                return $handlerName;
        }
 
@@ -1089,7 +1079,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorPermissionDenied () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1111,7 +1101,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorConnectionTimedOut () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1133,7 +1123,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorResourceUnavailable () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1155,7 +1145,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorConnectionRefused () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1177,7 +1167,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorNoRouteToHost () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1199,7 +1189,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorOperationAlreadyProgress () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1221,7 +1211,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorConnectionResetByPeer () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1243,7 +1233,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorOperationNotSupported () {
                // Get socket error code for verification
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                $socketError = $this->getLastSocketErrorCode();
 
                // Get error message
@@ -1264,7 +1254,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        protected function handleSocketErrorOperationInProgress () {
                // Very common with non-blocking I/O
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: this->socketResource=%s - CALLED!', strtoupper($this->getSocketProtocol()), $this->getSocketResource()));
                self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(strtoupper($this->getSocketProtocol()) . '-HELPER: Operation is now in progress, this is usual for non-blocking connections and is no bug.');
        }
 
@@ -1281,7 +1271,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         */
        private function translateSocketErrorCodeToName (int $errorCode) {
                // Unknown error code by default
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - CALLED!', strtoupper($this->getSocketProtocol()), $errorCode));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorCode=%d - CALLED!', strtoupper($this->getSocketProtocol()), $errorCode));
                $errorName = StorableSocket::SOCKET_ERROR_UNKNOWN;
 
                // Is the code a number, then we have to change it
@@ -1343,7 +1333,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                }
 
                // Return translated name
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorName=%d - EXIT!', strtoupper($this->getSocketProtocol()), $errorName));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: errorName=%s - EXIT!', strtoupper($this->getSocketProtocol()), $errorName));
                return $errorName;
        }
 
@@ -1356,9 +1346,9 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
         * @return      $result                 Whether calling socket_set_option() was successfull
         * @throws      InvalidSocketException  If stored socket is invalid
         */
-       private function setSocketOption ($level, $optionName, $optionValue) {
+       private function setSocketOption (int $level, int $optionName, $optionValue) {
                // Should be valid socket
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: level=%s,optionName=%s,optionValue[]=%s - CALLED!', strtoupper($this->getSocketProtocol()), $level, $optionName, gettype($optionValue)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: level=%d,optionName=%d,optionValue[]=%s - CALLED!', strtoupper($this->getSocketProtocol()), $level, $optionName, gettype($optionValue)));
                if (!$this->isValidSocket()) {
                        // Throw exception
                        throw new InvalidSocketException(array($this), self::EXCEPTION_INVALID_SOCKET);
@@ -1368,7 +1358,7 @@ class SocketContainer extends BaseHubContainer implements StorableSocket, Visita
                $result = socket_set_option($this->getSocketResource(), $level, $optionName, $optionValue);
 
                // Return result
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('%s-SOCKET: result[%s]=%d,errorCode=%s - EXIT!', strtoupper($this->getSocketProtocol()), gettype($result), intval($result), $this->getLastSocketErrorCode()));
                return $result;
        }
 
index 4ecb4ea162208c1ebe3700198007a81d0b04888b..34a499fb1681a7794e982d430f70050e5a71bc14 100644 (file)
@@ -120,7 +120,7 @@ class PeerStateLookupDatabaseFrontend extends BaseHubDatabaseFrontend implements
                if ($dataSetInstance instanceof StoreableCriteria) {
                        // Then remember the search instance in it
                        $dataSetInstance->setSearchInstance($searchInstance);
-               } // END - if
+               }
 
                // Count the query
                $entries = $this->doSelectCountByCriteria($searchInstance, array(self::DB_COLUMN_PEER_SESSION_ID => TRUE));
@@ -147,7 +147,7 @@ class PeerStateLookupDatabaseFrontend extends BaseHubDatabaseFrontend implements
                if (!$this->isSenderNewPeer($packageInstance)) {
                        // Throw an exception because this should normally not happen
                        throw new PeerAlreadyRegisteredException(array($this, $packageInstance), self::EXCEPTION_PEER_ALREADY_REGISTERED);
-               } // END - if
+               }
 
                // Generate a dataset instance
                $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_PEER_LOOKUP));
@@ -167,7 +167,7 @@ class PeerStateLookupDatabaseFrontend extends BaseHubDatabaseFrontend implements
                        // ... and cleartext message from it and put both into criteria
                        $dataSetInstance->addCriteria(self::DB_COLUMN_SOCKET_ERROR_CODE, $socketInstance->getLastSocketErrorCode());
                        $dataSetInstance->addCriteria(self::DB_COLUMN_SOCKET_ERROR_MSG , $socketInstance->getLastSocketErrorMessage());
-               } // END - if
+               }
 
                // Add ip address and port
                $dataSetInstance->addCriteria(self::DB_COLUMN_PEER_IP  , $peerAddress);
index 0c6d0100118e8dd4414fd908ee9a6cf67e7c39c3..2c67f426fcf7f83bca7cdf64f4162542dc4a894b 100644 (file)
@@ -50,11 +50,11 @@ class ConnectionInfoFactory extends ObjectFactory {
                parent::__construct(__CLASS__);
 
                // Init array
-               self::$validTypes = array(
+               self::$validTypes = [
                        'helper',                                 // Fake type 'helper'
                        StorableSocket::CONNECTION_TYPE_SERVER,   // Server ("listener") type
                        StorableSocket::CONNECTION_TYPE_INCOMING, // Incoming connection type
-               );
+               ];
        }
 
        /**
@@ -66,13 +66,19 @@ class ConnectionInfoFactory extends ObjectFactory {
         * @throws      InvalidArgumentException        If one of the arguments are not valid
         * @todo        Also validate protocol to be sure if there is really a protocol handler for it available
         */
-       public static final function createConnectionInfoInstance ($protocolName, $type) {
+       public static final function createConnectionInfoInstance (string $protocolName, string $type) {
                // Init factory instance
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('CONNECTION-INFO-FACTORY: protocolName=%s,type=%s - CALLED!', $protocolName, $type));
                $factoryInstance = new ConnectionInfoFactory();
 
                // Validate parameter ...
-               if (!in_array($type, self::$validTypes, TRUE)) {
+               if (empty($protocolName)) {
+                       // Empty parameter
+                       throw new InvalidArgumentException('Parameter "protocolName" cannot be empty.');
+               } elseif (empty($type)) {
+                       // Empty parameter
+                       throw new InvalidArgumentException('Parameter "type" cannot be empty.');
+               } elseif (!in_array($type, self::$validTypes, TRUE)) {
                        // Not valid type
                        throw new InvalidArgumentException(sprintf('type=%s is not valid.', $type));
                }
index 64c65043913bcf30553aa6361fb5567f21c6582d..91f83e676f2a40de424370756c4538613e560564 100644 (file)
@@ -162,24 +162,22 @@ class SocketFactory extends ObjectFactory {
                        exit;
                }
 
-               // Debug message
-               self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Binding to ' . $socketInstance->getSocketFile() . ' ...');
-
                // Try to bind to it
+               /* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Binding to ' . $socketInstance->getSocketFile() . ' ...');
                if (!$socketInstance->bindSocketToFile()) {
                        // Handle error here
                        $socketInstance->handleSocketError(__METHOD__, __LINE__);
                }
 
                // Start listen for connections
-               self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Listening for connections.');
+               /* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Listening for connections.');
                if (!$socketInstance->listenToSocket()) {
                        // Handle this socket error
                        $socketInstance->handleSocketError(__METHOD__, __LINE__);
                }
 
                // Allow non-blocking I/O
-               self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Setting non-blocking mode.');
+               /* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('SOCKET-FACTORY: Setting non-blocking mode.');
                if (!$socketInstance->enableSocketNonBlocking()) {
                        // Handle this socket error
                        $socketInstance->handleSocketError(__METHOD__, __LINE__);
index bf689498b1a55f9597661f1f3977fd84c796feeb..e26b4eb87122da7a890a9e40ed2efc1a5e86a80c 100644 (file)
@@ -102,10 +102,11 @@ abstract class BaseIpV4ConnectionHelper extends BaseConnectionHelper {
                $hasTimedOut = FALSE;
                $time = time();
 
-               // Try to connect until it is connected
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('BASE-IPV4-CONNECTION-HELPER: Trying to connect to %s with socketResource[%s]=%s ...', $this->getSocketInstance()->getSocketRecipient(), gettype($this->getSocketInstance()->getSocketResource()), $this->getSocketInstance()->getSocketResource()));
-               while ($isConnected = !$this->getSocketInstance()->connectToSocketRecipient()) {
-                       // Get last socket error
+               // This won't loop forever ...
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('BASE-IPV4-CONNECTION-HELPER: Trying to connect to %s with socketResource[%s]=%s ...', $this->getSocketInstance()->getSocketRecipientUnl(), gettype($this->getSocketInstance()->getSocketResource()), $this->getSocketInstance()->getSocketResource()));
+               while (true) {
+                       // Try to connect until it is connected
+                       $isConnected = $this->getSocketInstance()->connectToSocketRecipient();
                        $socketError = $this->getSocketInstance()->getLastSocketErrorCode();
 
                        // Skip any errors which may happen on non-blocking connections
index c9767346daae7e15eb008ffa5343cb350480d9b2..6bb95eadfb3889066ad76c8a1119bf6bec11035c 100644 (file)
@@ -105,7 +105,7 @@ abstract class BasePool extends BaseHubSystem implements Poolable, Visitable {
         * @param       $list   The list identifier we should return
         * @return      $array  The requested array
         */
-       public final function getArrayFromList ($list) {
+       public final function getArrayFromList (string $list) {
                // Get the array
                $array = $this->getPoolEntriesInstance()->getArrayFromList($list);
 
index 66fa3c699dd6871fe6972b2aa5c61e43bc032469..20cabc4bbac8271aa175ff803d8650a15823b6cb 100644 (file)
@@ -78,10 +78,8 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
         * @throws      InvalidSocketException  If the given socket has an error
         */
        private function validateSocket (StorableSocket $socketInstance) {
-               // Trace message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('HUB-SYSTEM: socketInstance->socketResource=%s - CALLED!', $socketInstance->getSocketResource()));
-
                // Is it a valid resource?
+               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('HUB-SYSTEM: socketInstance->socketResource=%s - CALLED!', $socketInstance->getSocketResource()));
                if (!$socketInstance->isValidSocket()) {
                        // Throw an exception
                        throw new InvalidSocketException(array($this, $socketInstance->getSocketResource()), self::EXCEPTION_INVALID_SOCKET);
@@ -111,7 +109,7 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DEFAULT-PEER-POOL: socketResource[%s]=%s,connectionType=%s - CALLED!', gettype($socketInstance->getSocketResource()), $socketInstance->getSocketResource(), $connectionType));
                if (empty($connectionType)) {
                        // Throw exception
-                       throw new InvalidArgumentException('connectionType is empty');
+                       throw new InvalidArgumentException('Parameter "connectionType" is empty');
                }
 
                // Validate the socket
@@ -139,17 +137,18 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
                        self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: Socket resource is server socket (' . $socketInstance->getSocketResource() . '). This is not a bug.');
                }
 
-               // Debug message
-               /* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: Adding peer ' . $peerAddress . ':' . $peerPort . ',socketResource=' . $socketInstance->getSocketResource() . ',connectionType=' . $connectionType);
-
                // Construct the array
-               $socketArray = array(
+               /* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: Adding peer ' . $peerAddress . ':' . $peerPort . ',socketResource=' . $socketInstance->getSocketResource() . ',connectionType=' . $connectionType);
+               $socketArray = [
                        Poolable::SOCKET_ARRAY_INSTANCE  => $socketInstance,
                        Poolable::SOCKET_ARRAY_CONN_TYPE => $connectionType
-               );
+               ];
 
                // Add it finally to the pool
                $this->addPoolEntry($socketArray);
+
+               // Trace message
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: EXIT!');
        }
 
        /**
@@ -162,6 +161,7 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
                $sockets = $this->getArrayFromList('pool');
 
                // Return it
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DEFAULT-PEER-POOL: sockets()=%d - EXIT!', count($sockets)));
                return $sockets;
        }
 
@@ -200,7 +200,7 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DEFAULT-PEER-POOL: connectionType=%s - CALLED!', $connectionType));
                if (empty($connectionType)) {
                        // Throw exception
-                       throw new InvalidArgumentException('connectionType is empty');
+                       throw new InvalidArgumentException('Parameter "connectionType" is empty');
                }
 
                // Get the array list
@@ -234,26 +234,30 @@ class DefaultPeerPool extends BasePool implements PoolablePeer {
         * @param       $packageInstance        An instance of a DeliverablePackage class
         * @param       $connectionType         Type of connection, can be 'incoming', 'outgoing', 'server' or default
         * @return      $socketInstance         An instance of a StorableSocket class
+        * @throws      InvalidArgumentException        If a parameter is not valid
         * @throws      InvalidConnectionTypeException  If the provided connection type is not valid
         * @throws      LogicException          If an expected array element is missing
         */
        public function getSocketFromPackageInstance (DeliverablePackage $packageInstance, string $connectionType = NULL) {
-               // Default is no socket
+               // Validate parameter
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DEFAULT-PEER-POOL: packageInstance=%s,connectionType[%s]=%s - CALLED!', $packageInstance->__toString(), gettype($connectionType), $connectionType));
+               if (empty($connectionType)) {
+                       // Throw exception
+                       throw new InvalidArgumentException('Parameter "connectionType" is empty');
+               }
+
+               // Default is no socket
                $socketInstance = NULL;
 
                // Resolve recipient (UNL) into a handler instance
                $handlerInstance = ProtocolHandlerFactory::createProtocolHandlerFromPackageInstance($packageInstance);
 
-               // Get UNL data
+               // Get UNL instance
                $locatorInstance = $handlerInstance->getUniversalNodeLocatorInstance();
 
-               // Default is all sockets
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: Checking ' . count($this->getAllSockets()) . ' socket(s),locatorInstance->unl=' . $locatorInstance->generateUnl() . ' ...');
-               $sockets = $this->getAllSockets();
-
                // Get all sockets and check them, skip the server socket
-               foreach ($sockets as $socketArray) {
+               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DEFAULT-PEER-POOL: Checking ' . count($this->getAllSockets()) . ' socket(s),locatorInstance->unl=' . $locatorInstance->generateUnl() . ' ...');
+               foreach ($this->getAllSockets() as $socketArray) {
                        // Is connection type set?
                        /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DEFAULT-PEER-POOL: socketArray(%d)=%s', count($socketArray), implode(',', $socketArray)));
                        //* DEBUG-DIE: */ die(__METHOD__.':connectionType='.$connectionType.',socketArray='.print_r($socketArray, TRUE));
index f87dd245ac193b0e60d033678417d43bbcba040f..3fdd62af8d043b2eec7dafa49b7f14a0995ee168 100644 (file)
@@ -176,7 +176,7 @@ interface StorableSocket extends FrameworkInterface {
         * @return      $result                 Result of calling socket_write()
         * @throws      InvalidSocketException  If stored socket is invalid
         */
-       function writeBufferToSocketByArray (array &$socketBuffer, &$sentBytes);
+       function writeBufferToSocketByArray (array &$socketBuffer, int &$sentBytes);
 
        /**
         * Getter for socket procotol field
@@ -186,13 +186,13 @@ interface StorableSocket extends FrameworkInterface {
        function getSocketProtocol ();
 
        /**
-        * Getter for socket recipient array element
+        * Getter for socket recipient UNL
         *
-        * @return      $recipient      Recipient array element
+        * @return      $recipient      Recipient UNL
         * @throws      LogicException  If 'recipient' array element is not found
         * @throws      InvalidSocketException  If stored socket is invalid
         */
-       function getSocketRecipient ();
+       function getSocketRecipientUnl ();
 
        /**
         * Getter for socket recipient's address part
index 32738cc312b9f17604e1846e1ac65493de628b2b..1775d03de1d80106774996211f404a6a952c73cc 100644 (file)
@@ -38,7 +38,7 @@ interface Poolable extends HubInterface {
         * @param       $list   The list identifier we should return
         * @return      $array  The requested array
         */
-       function getArrayFromList ($list);
+       function getArrayFromList (string $list);
 
        /**
         * Getter for pool entries instance