3 * This exception is thrown if the socket cannot be shut down is not error 107
4 * which is "Transport endpoint not connected".
6 * @author Roland Haeder <webmaster@shipsimu.org>
8 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
9 * @license GNU GPL 3.0 or any newer version
10 * @link http://www.shipsimu.org
12 * This program is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation, either version 3 of the License, or
15 * (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program. If not, see <http://www.gnu.org/licenses/>.
25 class SocketShutdownException extends AbstractSocketException {
27 * A Constructor for this exception
29 * @param $helperInstance An instance of a ConnectionHelper class
30 * @param $code Error code
33 public function __construct (ConnectionHelper $helperInstance, $code) {
34 // Get socket resource
35 $socketResource = $helperInstance->getSocketResource();
37 // Construct the message
38 $message = sprintf('[%s:] Socket %s cannot be shutdown down. errNo=%s, errStr=%s',
39 $helperInstance->__toString(),
41 socket_last_error($socketResource),
42 socket_strerror(socket_last_error($socketResource))
45 // Call parent exception constructor
46 parent::__construct($message, $code);