]> git.mxchange.org Git - hub.git/commitdiff
all socketErrorFooHandler() methods shall be protected, else they can't be called...
authorRoland Häder <roland@mxchange.org>
Fri, 10 Feb 2012 19:37:47 +0000 (19:37 +0000)
committerRoland Häder <roland@mxchange.org>
Fri, 10 Feb 2012 19:37:47 +0000 (19:37 +0000)
application/hub/main/helper/connection/class_BaseConnectionHelper.php
application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php

index d7ad4ee35274342ec066fbfb72de7175a8d04b5a..e2b2dd1710deae82cc8ae5af7665cfc47c823c47 100644 (file)
@@ -365,7 +365,7 @@ class BaseConnectionHelper extends BaseHubHelper implements Registerable, Protoc
         * @param       $socketResource         A valid socket resource
         * @throws      SocketConnectionException       The connection attempts fails with a time-out
         */
-       private function socketErrorConnectionTimedOutHandler ($socketResource) {
+       protected function socketErrorConnectionTimedOutHandler ($socketResource) {
                // Get socket error code for verification
                $socketError = socket_last_error($socketResource);
 
index 1990ddd9e4fd51f5f6d36cdd9d1c7db7ea9a792d..d22f150fd120a0711eaf19cac58621ab3158cbd8 100644 (file)
@@ -55,7 +55,11 @@ class TcpConnectionHelper extends BaseConnectionHelper implements ConnectionHelp
 
                // Is the socket resource valid?
                if (!is_resource($socketResource)) {
-                       // Something bad happened
+                       /*
+                        * Something bad happened, calling handleSocketError() is not
+                        * possible here because that method would throw an
+                        * InvalidSocketException back.
+                        */
                        throw new SocketCreationException(array($helperInstance, gettype($socketResource)), BaseListener::EXCEPTION_SOCKET_CREATION_FAILED);
                } // END - if
 
@@ -80,6 +84,15 @@ class TcpConnectionHelper extends BaseConnectionHelper implements ConnectionHelp
                        throw new SocketOptionException(array($helperInstance, $socketResource, $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
                } // END - if
 
+               // Set socket in non-blocking mode
+               if (!socket_set_nonblock($socketResource)) {
+                       // Handle this socket error with a faked recipientData array
+                       $helperInstance->handleSocketError($socketResource, array('0.0.0.0', '0'));
+
+                       // And throw again
+                       throw new SocketOptionException(array($helperInstance, $socketResource, $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
+               } // END - if
+
                // Set the resource
                $helperInstance->setSocketResource($socketResource);
 
@@ -150,15 +163,6 @@ class TcpConnectionHelper extends BaseConnectionHelper implements ConnectionHelp
                        */
                } // END - if
 
-               // Set socket in non-blocking mode
-               if (!socket_set_nonblock($socketResource)) {
-                       // Handle this socket error with a faked recipientData array
-                       $helperInstance->handleSocketError($socketResource, array('0.0.0.0', '0'));
-
-                       // And throw again
-                       throw new SocketOptionException(array($helperInstance, $socketResource, $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
-               } // END - if
-
                // Connection is fully established here, so change the state
                PeerStateFactory::createPeerStateInstanceByName('connected', $helperInstance);