[#1036] Use special ConnectTimeoutException if a connection timeout happens while using NIO. Not use it for OIO as it may would break users app that detect SocketTimeoutException here
This commit is contained in:
parent
04334dbefb
commit
bad316b05f
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright 2013 The Netty Project
|
||||
*
|
||||
* The Netty Project licenses this file to you under the Apache License,
|
||||
* version 2.0 (the "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at:
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jboss.netty.channel;
|
||||
|
||||
import java.net.ConnectException;
|
||||
|
||||
/**
|
||||
* {@link ConnectException} which will be thrown if a connection could
|
||||
* not be established because of a connection timeout.
|
||||
*/
|
||||
public class ConnectTimeoutException extends ConnectException {
|
||||
private static final long serialVersionUID = 2317065249988317463L;
|
||||
|
||||
public ConnectTimeoutException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
public ConnectTimeoutException() {
|
||||
}
|
||||
}
|
@ -17,6 +17,7 @@ package org.jboss.netty.channel.socket.nio;
|
||||
|
||||
import org.jboss.netty.channel.Channel;
|
||||
import org.jboss.netty.channel.ChannelFuture;
|
||||
import org.jboss.netty.channel.ConnectTimeoutException;
|
||||
import org.jboss.netty.util.ThreadNameDeterminer;
|
||||
import org.jboss.netty.util.ThreadRenamingRunnable;
|
||||
import org.jboss.netty.util.Timeout;
|
||||
@ -133,7 +134,7 @@ public final class NioClientBoss extends AbstractNioSelector implements Boss {
|
||||
currentTimeNanos >= ch.connectDeadlineNanos) {
|
||||
|
||||
if (cause == null) {
|
||||
cause = new ConnectException("connection timed out: " + ch.requestedRemoteAddress);
|
||||
cause = new ConnectTimeoutException("connection timed out: " + ch.requestedRemoteAddress);
|
||||
}
|
||||
|
||||
ch.connectFuture.setFailure(cause);
|
||||
|
Loading…
Reference in New Issue
Block a user