]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php
New singleton-factories introduced:
[hub.git] / application / hub / main / helper / connection / tcp / class_TcpConnectionHelper.php
index 9d6b550150f86c4ff7b7599a51914ec03abb8809..947daad3521033831620e26eccb2a4bc5709700c 100644 (file)
@@ -22,7 +22,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-class TcpConnectionHelper extends BaseConnectionHelper implements Helper {
+class TcpConnectionHelper extends BaseConnectionHelper implements ConnectionHelper {
        /**
         * Protected constructor
         *
@@ -80,21 +80,6 @@ class TcpConnectionHelper extends BaseConnectionHelper implements Helper {
                        throw new InvalidSocketException(array($helperInstance, gettype($socketResource), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
                } // END - if
 
-               // Now, we want non-blocking mode
-               if (!socket_set_nonblock($socketResource)) {
-                       // Get socket error code for verification
-                       $socketError = socket_last_error($socketResource);
-
-                       // Get error message
-                       $errorMessage = socket_strerror($socketError);
-
-                       // Shutdown this socket
-                       $helperInstance->shutdownSocket($socketResource);
-
-                       // And throw again
-                       throw new InvalidSocketException(array($helperInstance, gettype($socketResource), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
-               } // END - if
-
                // Set the resource
                $helperInstance->setSocketResource($socketResource);
 
@@ -129,16 +114,31 @@ class TcpConnectionHelper extends BaseConnectionHelper implements Helper {
                        }
                } // END - if
 
+               // Now, we want non-blocking mode
+               if (!socket_set_nonblock($socketResource)) {
+                       // Get socket error code for verification
+                       $socketError = socket_last_error($socketResource);
+
+                       // Get error message
+                       $errorMessage = socket_strerror($socketError);
+
+                       // Shutdown this socket
+                       $helperInstance->shutdownSocket($socketResource);
+
+                       // And throw again
+                       throw new InvalidSocketException(array($helperInstance, gettype($socketResource), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET);
+               } // END - if
+
                // Okay, that should be it. So return it...
                return $socketResource;
        }
 
        /**
-        * Do the shutdown sequence for TCP connections
+        * Do the shutdown sequence for this connection helper
         *
-        * @todo        We may want to implement a filter for ease notification of other objects like our pool
         * @return      void
         * @throws      SocketShutdownException         If the current socket could not be shut down
+        * @todo        We may want to implement a filter for ease notification of other objects like our pool
         */
        public function doShutdown () {
                // Clear any previous errors