You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2010/02/27 03:01:59 UTC
svn commit: r916892 - in /mina/branches/mina-2-cleanup:
core/src/main/java/org/apache/mina/core/buffer/
core/src/main/java/org/apache/mina/core/filterchain/
core/src/main/java/org/apache/mina/core/future/
core/src/main/java/org/apache/mina/core/polling...
Author: elecharny
Date: Sat Feb 27 02:01:58 2010
New Revision: 916892
URL: http://svn.apache.org/viewvc?rev=916892&view=rev
Log:
o Replaced called to the new NullPointerException() by a call to new IllegalArgumentException()
o Removed the ConnectionRequest class, replaced by a call to the DefaultConnectFuture
o Lots of refactoring in the ConnectFuture interface, class and usage
Modified:
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBufferWrapper.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/ConnectFuture.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/DefaultConnectFuture.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/DefaultTransportMetadata.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/IoServiceListenerSupport.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSessionConfig.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DummySession.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/IoEvent.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/ChainedIoHandler.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/IoHandlerChain.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/handlers/http/ntlm/NTLMUtilities.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/session/ProxyIoSession.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/utils/IoBufferDecoder.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketConnector.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/CircularQueue.java
mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/byteaccess/ByteArrayList.java
mina/branches/mina-2-cleanup/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java Sat Feb 27 02:01:58 2010
@@ -168,7 +168,7 @@
*/
public static void setAllocator(IoBufferAllocator newAllocator) {
if (newAllocator == null) {
- throw new NullPointerException("allocator");
+ throw new IllegalArgumentException("allocator canot be null");
}
IoBufferAllocator oldAllocator = allocator;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBufferWrapper.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBufferWrapper.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBufferWrapper.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/buffer/IoBufferWrapper.java Sat Feb 27 02:01:58 2010
@@ -58,7 +58,7 @@
*/
protected IoBufferWrapper(IoBuffer buf) {
if (buf == null) {
- throw new NullPointerException("buf");
+ throw new IllegalArgumentException("buf cannot be null");
}
this.buf = buf;
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java Sat Feb 27 02:01:58 2010
@@ -76,7 +76,7 @@
*/
public DefaultIoFilterChain(AbstractIoSession session) {
if (session == null) {
- throw new NullPointerException("session");
+ throw new IllegalArgumentException("session cannot be null");
}
this.session = session;
@@ -755,10 +755,11 @@
private EntryImpl(EntryImpl prevEntry, EntryImpl nextEntry,
String name, IoFilter filter) {
if (filter == null) {
- throw new NullPointerException("filter");
+ throw new IllegalArgumentException("filter cannot be null");
}
+
if (name == null) {
- throw new NullPointerException("name");
+ throw new IllegalArgumentException("name cannnot be null");
}
this.prevEntry = prevEntry;
@@ -829,7 +830,7 @@
private void setFilter(IoFilter filter) {
if (filter == null) {
- throw new NullPointerException("filter");
+ throw new IllegalArgumentException("filter cannot be null");
}
this.filter = filter;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java Sat Feb 27 02:01:58 2010
@@ -77,7 +77,7 @@
*/
public DefaultIoFilterChainBuilder(DefaultIoFilterChainBuilder filterChain) {
if (filterChain == null) {
- throw new NullPointerException("filterChain");
+ throw new IllegalArgumentException("filterChain cannot be null");
}
entries = new CopyOnWriteArrayList<Entry>(filterChain.entries);
}
@@ -233,7 +233,7 @@
*/
public synchronized IoFilter remove(String name) {
if (name == null) {
- throw new NullPointerException("name");
+ throw new IllegalArgumentException("name cannot be null");
}
for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) {
@@ -252,7 +252,7 @@
*/
public synchronized IoFilter remove(IoFilter filter) {
if (filter == null) {
- throw new NullPointerException("filter");
+ throw new IllegalArgumentException("filter cannot be null");
}
for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) {
@@ -271,7 +271,7 @@
*/
public synchronized IoFilter remove(Class<? extends IoFilter> filterType) {
if (filterType == null) {
- throw new NullPointerException("filterType");
+ throw new IllegalArgumentException("filterType cannot be null");
}
for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) {
@@ -332,7 +332,7 @@
*/
public void setFilters(Map<String, ? extends IoFilter> filters) {
if (filters == null) {
- throw new NullPointerException("filters");
+ throw new IllegalArgumentException("filters cannot be null");
}
if (!isOrderedMap(filters)) {
@@ -344,10 +344,10 @@
filters = new LinkedHashMap<String, IoFilter>(filters);
for (Map.Entry<String, ? extends IoFilter> e: filters.entrySet()) {
if (e.getKey() == null) {
- throw new NullPointerException("filters contains a null key.");
+ throw new IllegalArgumentException("filters contains a null key.");
}
if (e.getValue() == null) {
- throw new NullPointerException("filters contains a null value.");
+ throw new IllegalArgumentException("filters contains a null value.");
}
}
@@ -485,7 +485,7 @@
private void checkBaseName(String baseName) {
if (baseName == null) {
- throw new NullPointerException("baseName");
+ throw new IllegalArgumentException("baseName cannot be null");
}
if (!contains(baseName)) {
@@ -509,10 +509,10 @@
private EntryImpl(String name, IoFilter filter) {
if (name == null) {
- throw new NullPointerException("name");
+ throw new IllegalArgumentException("name cannot be null");
}
if (filter == null) {
- throw new NullPointerException("filter");
+ throw new IllegalArgumentException("filter cannot be null");
}
this.name = name;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java Sat Feb 27 02:01:58 2010
@@ -46,7 +46,7 @@
super(type, session, parameter);
if (nextFilter == null) {
- throw new NullPointerException("nextFilter");
+ throw new IllegalArgumentException("nextFilter cannot be null");
}
this.nextFilter = nextFilter;
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/ConnectFuture.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/ConnectFuture.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/ConnectFuture.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/ConnectFuture.java Sat Feb 27 02:01:58 2010
@@ -19,7 +19,9 @@
*/
package org.apache.mina.core.future;
+import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.session.IoSession;
+import org.apache.mina.core.session.IoSessionInitializer;
/**
* An {@link IoFuture} for asynchronous connect requests.
@@ -35,7 +37,16 @@
*
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
-public interface ConnectFuture extends IoFuture {
+public interface ConnectFuture<H> extends IoFuture {
+ H getHandle();
+ void setHandle(H handle);
+ IoConnector getConnector();
+ void setConnector(IoConnector connector);
+ long getDeadline();
+ void setDeadline(long deadline);
+ IoSessionInitializer<? extends ConnectFuture<H>> getSessionInitializer();
+ void setSessionInitializer(IoSessionInitializer<? extends ConnectFuture<H>> sessionInitializer);
+
/**
* Returns {@link IoSession} which is the result of connect operation.
*
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/DefaultConnectFuture.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/DefaultConnectFuture.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/DefaultConnectFuture.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/future/DefaultConnectFuture.java Sat Feb 27 02:01:58 2010
@@ -20,7 +20,9 @@
package org.apache.mina.core.future;
import org.apache.mina.core.RuntimeIoException;
+import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.session.IoSession;
+import org.apache.mina.core.session.IoSessionInitializer;
/**
@@ -28,8 +30,11 @@
*
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
-public class DefaultConnectFuture extends DefaultIoFuture implements
- ConnectFuture {
+public class DefaultConnectFuture<H> extends DefaultIoFuture implements ConnectFuture<H> {
+ private H handle;
+ private IoConnector connector;
+ private long deadline;
+ private IoSessionInitializer<? extends ConnectFuture<H>> sessionInitializer;
private static final Object CANCELED = new Object();
@@ -48,7 +53,6 @@
public DefaultConnectFuture() {
super(null);
}
-
@Override
public IoSession getSession() {
Object v = getValue();
@@ -98,9 +102,11 @@
}
public void cancel() {
- setValue(CANCELED);
+ if ( !isDone() ) {
+ setValue(CANCELED);
+ }
}
-
+
@Override
public ConnectFuture await() throws InterruptedException {
return (ConnectFuture) super.await();
@@ -120,4 +126,48 @@
public ConnectFuture removeListener(IoFutureListener<?> listener) {
return (ConnectFuture) super.removeListener(listener);
}
+
+ public IoConnector getConnector() {
+ return connector;
+ }
+
+ public H getHandle() {
+ return handle;
+ }
+
+ public long getDeadline() {
+ return deadline;
+ }
+
+ public IoSessionInitializer<? extends ConnectFuture<H>> getSessionInitializer() {
+ return sessionInitializer;
+ }
+
+ /**
+ * @param handler the handle to set
+ */
+ public void setHandle( H handle ) {
+ this.handle = handle;
+ }
+
+ /**
+ * @param connector the connector to set
+ */
+ public void setConnector( IoConnector connector ) {
+ this.connector = connector;
+ }
+
+ /**
+ * @param deadline the deadline to set
+ */
+ public void setDeadline( long deadline ) {
+ this.deadline = deadline;
+ }
+
+ /**
+ * @param sessionInitializer the sessionInitializer to set
+ */
+ public void setSessionInitializer( IoSessionInitializer<? extends ConnectFuture<H>> sessionInitializer ){
+ this.sessionInitializer = sessionInitializer;
+ }
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java Sat Feb 27 02:01:58 2010
@@ -235,7 +235,7 @@
}
if (remoteAddress == null) {
- throw new NullPointerException("remoteAddress");
+ throw new IllegalArgumentException("remoteAddress cannot be null");
}
synchronized (bindLock) {
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java Sat Feb 27 02:01:58 2010
@@ -188,7 +188,7 @@
super(sessionConfig, executor);
if (processor == null) {
- throw new NullPointerException("processor");
+ throw new IllegalArgumentException("processor cannot be null");
}
this.processor = processor;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java Sat Feb 27 02:01:58 2010
@@ -63,8 +63,7 @@
extends AbstractIoConnector {
private final Object lock = new Object();
- private final Queue<ConnectionRequest> connectQueue = new ConcurrentLinkedQueue<ConnectionRequest>();
- private final Queue<ConnectionRequest> cancelQueue = new ConcurrentLinkedQueue<ConnectionRequest>();
+ private final Queue<ConnectFuture<H>> connectQueue = new ConcurrentLinkedQueue<ConnectFuture<H>>();
private final IoProcessor<T> processor;
private final boolean createdProcessor;
@@ -167,7 +166,7 @@
super(sessionConfig, executor);
if (processor == null) {
- throw new NullPointerException("processor");
+ throw new IllegalArgumentException("processor cannot be null");
}
this.processor = processor;
@@ -282,17 +281,17 @@
/**
* Register a new client socket for connection, add it to connection polling
* @param handle client socket handle
- * @param request the associated {@link ConnectionRequest}
+ * @param future the associated {@link ConnectFuture}
* @throws Exception any exception thrown by the underlying systems calls
*/
- protected abstract void register(H handle, ConnectionRequest request) throws Exception;
+ protected abstract void register(H handle, ConnectFuture<H> future) throws Exception;
/**
- * get the {@link ConnectionRequest} for a given client socket handle
+ * get the {@link ConnectFuture} for a given client socket handle
* @param handle the socket client handle
- * @return the connection request if the socket is connecting otherwise <code>null</code>
+ * @return the connection future if the socket is connecting otherwise <code>null</code>
*/
- protected abstract ConnectionRequest getConnectionRequest(H handle);
+ protected abstract ConnectFuture<H> getConnectFuture(H handle);
/**
* {@inheritDoc}
@@ -338,18 +337,32 @@
}
}
- ConnectionRequest request = new ConnectionRequest(handle, sessionInitializer);
- connectQueue.add(request);
+ ConnectFuture future = new DefaultConnectFuture();
+
+ long timeout = getConnectTimeoutMillis();
+ long currentTime = System.currentTimeMillis();
+
+ timeout = currentTime + timeout;
+
+ if (timeout <= currentTime) {
+ timeout = Long.MAX_VALUE;
+ }
+
+ future.setConnector(this);
+ future.setHandle(handle);
+ future.setDeadline( timeout );
+ future.setSessionInitializer(sessionInitializer);
+
+ connectQueue.add(future);
startupWorker();
wakeup();
- return request;
+ return future;
}
private void startupWorker() {
if (!selectable) {
connectQueue.clear();
- cancelQueue.clear();
}
synchronized (lock) {
@@ -363,12 +376,14 @@
private int registerNew() {
int nHandles = 0;
for (; ;) {
- ConnectionRequest req = connectQueue.poll();
+ ConnectFuture<H> req = connectQueue.poll();
+
if (req == null) {
break;
}
- H handle = req.handle;
+ H handle = req.getHandle();
+
try {
register(handle, req);
nHandles ++;
@@ -385,14 +400,22 @@
}
private int cancelKeys() {
+ if (connectQueue.isEmpty()) {
+ return 0;
+ }
+
int nHandles = 0;
- for (; ;) {
- ConnectionRequest req = cancelQueue.poll();
- if (req == null) {
- break;
+
+ for (ConnectFuture<H> future:connectQueue ) {
+ if ( !future.isCanceled()) {
+ continue;
}
- H handle = req.handle;
+ connectQueue.remove(future);
+
+ IoConnector connector = future.getConnector();
+ H handle = future.getHandle();
+
try {
close(handle);
} catch (Exception e) {
@@ -401,6 +424,7 @@
nHandles ++;
}
}
+
return nHandles;
}
@@ -416,9 +440,9 @@
H handle = handlers.next();
handlers.remove();
- ConnectionRequest connectionRequest = getConnectionRequest(handle);
+ ConnectFuture<H> connectFuture = getConnectFuture(handle);
- if ( connectionRequest == null) {
+ if ( connectFuture == null) {
continue;
}
@@ -426,18 +450,19 @@
try {
if (finishConnect(handle)) {
T session = newSession(processor, handle);
- initSession(session, connectionRequest, connectionRequest.getSessionInitializer());
+ initSession(session, connectFuture, connectFuture.getSessionInitializer());
// Forward the remaining process to the IoProcessor.
session.getProcessor().add(session);
nHandles ++;
}
success = true;
} catch (Throwable e) {
- connectionRequest.setException(e);
+ connectFuture.setException(e);
} finally {
if (!success) {
// The connection failed, we have to cancel it.
- cancelQueue.offer(connectionRequest);
+ connectFuture.cancel();
+ wakeup();
}
}
}
@@ -449,12 +474,13 @@
while (handles.hasNext()) {
H handle = handles.next();
- ConnectionRequest connectionRequest = getConnectionRequest(handle);
+ ConnectFuture<H> connectFuture = getConnectFuture(handle);
- if ((connectionRequest != null) && (currentTime >= connectionRequest.deadline)) {
- connectionRequest.setException(
+ if ((connectFuture != null) && (currentTime >= connectFuture.getDeadline())) {
+ connectFuture.setException(
new ConnectException("Connection timed out."));
- cancelQueue.offer(connectionRequest);
+ connectFuture.cancel();
+ wakeup();
}
}
}
@@ -521,43 +547,4 @@
}
}
}
-
- public final class ConnectionRequest extends DefaultConnectFuture {
- private final H handle;
- private final long deadline;
- private final IoSessionInitializer<? extends ConnectFuture> sessionInitializer;
-
- public ConnectionRequest(H handle, IoSessionInitializer<? extends ConnectFuture> callback) {
- this.handle = handle;
- long timeout = getConnectTimeoutMillis();
- if (timeout <= 0L) {
- this.deadline = Long.MAX_VALUE;
- } else {
- this.deadline = System.currentTimeMillis() + timeout;
- }
- this.sessionInitializer = callback;
- }
-
- public H getHandle() {
- return handle;
- }
-
- public long getDeadline() {
- return deadline;
- }
-
- public IoSessionInitializer<? extends ConnectFuture> getSessionInitializer() {
- return sessionInitializer;
- }
-
- @Override
- public void cancel() {
- if ( !isDone() ) {
- super.cancel();
- cancelQueue.add(this);
- startupWorker();
- wakeup();
- }
- }
- }
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java Sat Feb 27 02:01:58 2010
@@ -131,7 +131,7 @@
*/
protected AbstractPollingIoProcessor(Executor executor) {
if (executor == null) {
- throw new NullPointerException("executor");
+ throw new IllegalArgumentException("executor cannot be null");
}
this.threadName = nextThreadName();
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoAcceptor.java Sat Feb 27 02:01:58 2010
@@ -132,7 +132,7 @@
*/
public final void setDefaultLocalAddresses(List<? extends SocketAddress> localAddresses) {
if (localAddresses == null) {
- throw new NullPointerException("localAddresses");
+ throw new IllegalArgumentException("localAddresses cannot be null");
}
setDefaultLocalAddresses((Iterable<? extends SocketAddress>) localAddresses);
}
@@ -142,7 +142,7 @@
*/
public final void setDefaultLocalAddresses(Iterable<? extends SocketAddress> localAddresses) {
if (localAddresses == null) {
- throw new NullPointerException("localAddresses");
+ throw new IllegalArgumentException("localAddresses cannot be null");
}
synchronized (bindLock) {
@@ -213,7 +213,7 @@
*/
public final void bind(SocketAddress localAddress) throws IOException {
if (localAddress == null) {
- throw new NullPointerException("localAddress");
+ throw new IllegalArgumentException("localAddress cannot be null");
}
List<SocketAddress> localAddresses = new ArrayList<SocketAddress>(1);
@@ -252,7 +252,7 @@
}
if (localAddresses == null) {
- throw new NullPointerException("localAddresses");
+ throw new IllegalArgumentException("localAddresses cannot be null");
}
List<SocketAddress> localAddressesCopy = new ArrayList<SocketAddress>();
@@ -305,7 +305,7 @@
*/
public final void unbind(SocketAddress localAddress) {
if (localAddress == null) {
- throw new NullPointerException("localAddress");
+ throw new IllegalArgumentException("localAddress cannot be null");
}
List<SocketAddress> localAddresses = new ArrayList<SocketAddress>(1);
@@ -319,10 +319,10 @@
public final void unbind(SocketAddress firstLocalAddress,
SocketAddress... otherLocalAddresses) {
if (firstLocalAddress == null) {
- throw new NullPointerException("firstLocalAddress");
+ throw new IllegalArgumentException("firstLocalAddress cannot be null");
}
if (otherLocalAddresses == null) {
- throw new NullPointerException("otherLocalAddresses");
+ throw new IllegalArgumentException("otherLocalAddresses cannot be null");
}
List<SocketAddress> localAddresses = new ArrayList<SocketAddress>();
@@ -336,7 +336,7 @@
*/
public final void unbind(Iterable<? extends SocketAddress> localAddresses) {
if (localAddresses == null) {
- throw new NullPointerException("localAddresses");
+ throw new IllegalArgumentException("localAddresses cannot be null");
}
boolean deactivate = false;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java Sat Feb 27 02:01:58 2010
@@ -129,7 +129,7 @@
*/
public final void setDefaultRemoteAddress(SocketAddress defaultRemoteAddress) {
if (defaultRemoteAddress == null) {
- throw new NullPointerException("defaultRemoteAddress");
+ throw new IllegalArgumentException("defaultRemoteAddress cannot be null");
}
if (!getTransportMetadata().getAddressType().isAssignableFrom(
@@ -198,7 +198,7 @@
}
if (remoteAddress == null) {
- throw new NullPointerException("remoteAddress");
+ throw new IllegalArgumentException("remoteAddress is null, cannot connect");
}
if (!getTransportMetadata().getAddressType().isAssignableFrom(
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java Sat Feb 27 02:01:58 2010
@@ -163,11 +163,11 @@
*/
protected AbstractIoService(IoSessionConfig sessionConfig, Executor executor) {
if (sessionConfig == null) {
- throw new NullPointerException("sessionConfig");
+ throw new IllegalArgumentException("sessionConfig cannot be null");
}
if (getTransportMetadata() == null) {
- throw new NullPointerException("TransportMetadata");
+ throw new IllegalArgumentException("TransportMetadata cannot be null");
}
if (!getTransportMetadata().getSessionConfigType().isAssignableFrom(
@@ -325,7 +325,7 @@
*/
public final void setHandler(IoHandler handler) {
if (handler == null) {
- throw new NullPointerException("handler cannot be null");
+ throw new IllegalArgumentException("handler cannot be null");
}
if (isActive()) {
@@ -356,7 +356,7 @@
public final void setSessionDataStructureFactory(
IoSessionDataStructureFactory sessionDataStructureFactory) {
if (sessionDataStructureFactory == null) {
- throw new NullPointerException("sessionDataStructureFactory");
+ throw new IllegalArgumentException("sessionDataStructureFactory cannot be null");
}
if (isActive()) {
@@ -505,7 +505,7 @@
public final void setException(Exception exception) {
if (exception == null) {
- throw new NullPointerException("exception");
+ throw new IllegalArgumentException("exception cannot be null");
}
setValue(exception);
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/DefaultTransportMetadata.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/DefaultTransportMetadata.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/DefaultTransportMetadata.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/DefaultTransportMetadata.java Sat Feb 27 02:01:58 2010
@@ -52,35 +52,39 @@
Class<?>... envelopeTypes) {
if (providerName == null) {
- throw new NullPointerException("providerName");
+ throw new IllegalArgumentException("providerName cannot be null");
}
+
if (name == null) {
- throw new NullPointerException("name");
+ throw new IllegalArgumentException("name cannot be null");
}
providerName = providerName.trim().toLowerCase();
+
if (providerName.length() == 0) {
throw new IllegalArgumentException("providerName is empty.");
}
+
name = name.trim().toLowerCase();
+
if (name.length() == 0) {
throw new IllegalArgumentException("name is empty.");
}
if (addressType == null) {
- throw new NullPointerException("addressType");
+ throw new IllegalArgumentException("addressType cannot be null");
}
if (envelopeTypes == null) {
- throw new NullPointerException("envelopeTypes");
+ throw new IllegalArgumentException("envelopeTypes cannot be null");
}
if (envelopeTypes.length == 0) {
- throw new NullPointerException("envelopeTypes is empty.");
+ throw new IllegalArgumentException("envelopeTypes is empty.");
}
if (sessionConfigType == null) {
- throw new NullPointerException("sessionConfigType");
+ throw new IllegalArgumentException("sessionConfigType cannot be null");
}
this.providerName = providerName;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/IoServiceListenerSupport.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/IoServiceListenerSupport.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/IoServiceListenerSupport.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/IoServiceListenerSupport.java Sat Feb 27 02:01:58 2010
@@ -70,7 +70,7 @@
*/
public IoServiceListenerSupport(IoService service) {
if (service == null) {
- throw new NullPointerException("service");
+ throw new IllegalArgumentException("service cannot be null");
}
this.service = service;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/service/SimpleIoProcessorPool.java Sat Feb 27 02:01:58 2010
@@ -142,7 +142,7 @@
public SimpleIoProcessorPool(Class<? extends IoProcessor<T>> processorType,
Executor executor, int size) {
if (processorType == null) {
- throw new NullPointerException("processorType");
+ throw new IllegalArgumentException("processorType cannot be null");
}
if (size <= 0) {
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java Sat Feb 27 02:01:58 2010
@@ -396,7 +396,7 @@
*/
public WriteFuture write(Object message, SocketAddress remoteAddress) {
if (message == null) {
- throw new NullPointerException("message");
+ throw new IllegalArgumentException("message cannot be null");
}
// We can't send a message to a connected session if we don't have
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSessionConfig.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSessionConfig.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/AbstractIoSessionConfig.java Sat Feb 27 02:01:58 2010
@@ -47,7 +47,7 @@
*/
public final void setAll(IoSessionConfig config) {
if (config == null) {
- throw new NullPointerException("config");
+ throw new IllegalArgumentException("config cannot be null");
}
setReadBufferSize(config.getReadBufferSize());
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java Sat Feb 27 02:01:58 2010
@@ -64,7 +64,7 @@
public Object getAttribute(IoSession session, Object key, Object defaultValue) {
if (key == null) {
- throw new NullPointerException("key");
+ throw new IllegalArgumentException("key cannot be null");
}
Object answer = attributes.get(key);
@@ -77,7 +77,7 @@
public Object setAttribute(IoSession session, Object key, Object value) {
if (key == null) {
- throw new NullPointerException("key");
+ throw new IllegalArgumentException("key cannot be null");
}
if (value == null) {
@@ -89,7 +89,7 @@
public Object setAttributeIfAbsent(IoSession session, Object key, Object value) {
if (key == null) {
- throw new NullPointerException("key");
+ throw new IllegalArgumentException("key cannot be null");
}
if (value == null) {
@@ -108,7 +108,7 @@
public Object removeAttribute(IoSession session, Object key) {
if (key == null) {
- throw new NullPointerException("key");
+ throw new IllegalArgumentException("key cannot be null");
}
return attributes.remove(key);
@@ -116,7 +116,7 @@
public boolean removeAttribute(IoSession session, Object key, Object value) {
if (key == null) {
- throw new NullPointerException("key");
+ throw new IllegalArgumentException("key cannot be null");
}
if (value == null) {
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DummySession.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DummySession.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DummySession.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/DummySession.java Sat Feb 27 02:01:58 2010
@@ -198,7 +198,7 @@
*/
public void setConfig(IoSessionConfig config) {
if (config == null) {
- throw new NullPointerException("config");
+ throw new IllegalArgumentException("config");
}
this.config = config;
@@ -217,7 +217,7 @@
*/
public void setHandler(IoHandler handler) {
if (handler == null) {
- throw new NullPointerException("handler");
+ throw new IllegalArgumentException("handler cannot be null");
}
this.handler = handler;
@@ -237,7 +237,7 @@
*/
public void setLocalAddress(SocketAddress localAddress) {
if (localAddress == null) {
- throw new NullPointerException("localAddress");
+ throw new IllegalArgumentException("localAddress cannot be null");
}
this.localAddress = localAddress;
@@ -248,7 +248,7 @@
*/
public void setRemoteAddress(SocketAddress remoteAddress) {
if (remoteAddress == null) {
- throw new NullPointerException("remoteAddress");
+ throw new IllegalArgumentException("remoteAddress cannot be null");
}
this.remoteAddress = remoteAddress;
@@ -263,7 +263,7 @@
*/
public void setService(IoService service) {
if (service == null) {
- throw new NullPointerException("service");
+ throw new IllegalArgumentException("service cannot be null");
}
this.service = service;
@@ -283,7 +283,7 @@
*/
public void setTransportMetadata(TransportMetadata transportMetadata) {
if (transportMetadata == null) {
- throw new NullPointerException("transportMetadata");
+ throw new IllegalArgumentException("transportMetadata cannot be null");
}
this.transportMetadata = transportMetadata;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/IoEvent.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/IoEvent.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/IoEvent.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/core/session/IoEvent.java Sat Feb 27 02:01:58 2010
@@ -37,10 +37,10 @@
public IoEvent(IoEventType type, IoSession session, Object parameter) {
if (type == null) {
- throw new NullPointerException("type");
+ throw new IllegalArgumentException("type cannot be null");
}
if (session == null) {
- throw new NullPointerException("session");
+ throw new IllegalArgumentException("session cannot be null");
}
this.type = type;
this.session = session;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/ChainedIoHandler.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/ChainedIoHandler.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/ChainedIoHandler.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/ChainedIoHandler.java Sat Feb 27 02:01:58 2010
@@ -47,7 +47,7 @@
*/
public ChainedIoHandler(IoHandlerChain chain) {
if (chain == null) {
- throw new NullPointerException("chain");
+ throw new IllegalArgumentException("chain cannot be null");
}
this.chain = chain;
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/IoHandlerChain.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/IoHandlerChain.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/IoHandlerChain.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/chain/IoHandlerChain.java Sat Feb 27 02:01:58 2010
@@ -299,10 +299,10 @@
private Entry(Entry prevEntry, Entry nextEntry, String name,
IoHandlerCommand command) {
if (command == null) {
- throw new NullPointerException("command");
+ throw new IllegalArgumentException("command cannot be null");
}
if (name == null) {
- throw new NullPointerException("name");
+ throw new IllegalArgumentException("name cannot be null");
}
this.prevEntry = prevEntry;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java Sat Feb 27 02:01:58 2010
@@ -44,7 +44,7 @@
*/
public SingleSessionIoHandlerAdapter(IoSession session) {
if (session == null) {
- throw new NullPointerException("session");
+ throw new IllegalArgumentException("session cannot be null");
}
this.session = session;
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java Sat Feb 27 02:01:58 2010
@@ -60,7 +60,7 @@
*/
public SingleSessionIoHandlerDelegate(SingleSessionIoHandlerFactory factory) {
if (factory == null) {
- throw new NullPointerException("factory");
+ throw new IllegalArgumentException("factory cannot be null");
}
this.factory = factory;
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/handlers/http/ntlm/NTLMUtilities.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/handlers/http/ntlm/NTLMUtilities.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/handlers/http/ntlm/NTLMUtilities.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/handlers/http/ntlm/NTLMUtilities.java Sat Feb 27 02:01:58 2010
@@ -187,7 +187,7 @@
}
if (workStation == null || domain == null) {
- throw new NullPointerException(
+ throw new IllegalArgumentException(
"workStation and domain must be non null");
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/session/ProxyIoSession.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/session/ProxyIoSession.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/session/ProxyIoSession.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/session/ProxyIoSession.java Sat Feb 27 02:01:58 2010
@@ -190,7 +190,7 @@
*/
private void setRequest(ProxyRequest request) {
if (request == null) {
- throw new NullPointerException("request cannot be null");
+ throw new IllegalArgumentException("request cannot be null");
}
this.request = request;
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/utils/IoBufferDecoder.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/utils/IoBufferDecoder.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/utils/IoBufferDecoder.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/proxy/utils/IoBufferDecoder.java Sat Feb 27 02:01:58 2010
@@ -160,7 +160,7 @@
*/
public void setDelimiter(byte[] delim, boolean resetMatchCount) {
if (delim == null) {
- throw new NullPointerException("Null delimiter not allowed");
+ throw new IllegalArgumentException("Null delimiter not allowed");
}
// Convert delimiter to IoBuffer.
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java Sat Feb 27 02:01:58 2010
@@ -24,7 +24,9 @@
import java.nio.channels.DatagramChannel;
import java.util.Collections;
import java.util.Iterator;
+import java.util.concurrent.Executor;
+import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.polling.AbstractPollingIoConnector;
import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.service.IoProcessor;
@@ -166,7 +168,7 @@
}
@Override
- protected ConnectionRequest getConnectionRequest(DatagramChannel handle) {
+ protected ConnectFuture<DatagramChannel> getConnectFuture(DatagramChannel handle) {
throw new UnsupportedOperationException();
}
@@ -181,7 +183,7 @@
}
@Override
- protected void register(DatagramChannel handle, ConnectionRequest request)
+ protected void register(DatagramChannel handle, ConnectFuture<DatagramChannel> future)
throws Exception {
throw new UnsupportedOperationException();
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketConnector.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketConnector.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketConnector.java Sat Feb 27 02:01:58 2010
@@ -28,9 +28,11 @@
import java.util.Iterator;
import java.util.concurrent.Executor;
+import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.polling.AbstractPollingIoConnector;
import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.service.IoProcessor;
+import org.apache.mina.core.service.IoService;
import org.apache.mina.core.service.SimpleIoProcessorPool;
import org.apache.mina.core.service.TransportMetadata;
import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
@@ -191,14 +193,14 @@
* {@inheritDoc}
*/
@Override
- protected ConnectionRequest getConnectionRequest(SocketChannel handle) {
+ protected ConnectFuture<SocketChannel> getConnectFuture(SocketChannel handle) {
SelectionKey key = handle.keyFor(selector);
if ((key == null) || (!key.isValid())) {
return null;
}
- return (ConnectionRequest) key.attachment();
+ return (ConnectFuture<SocketChannel>) key.attachment();
}
/**
@@ -266,7 +268,7 @@
* {@inheritDoc}
*/
@Override
- protected void register(SocketChannel handle, ConnectionRequest request)
+ protected void register(SocketChannel handle, ConnectFuture<SocketChannel> request)
throws Exception {
handle.register(selector, SelectionKey.OP_CONNECT, request);
}
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/CircularQueue.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/CircularQueue.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/CircularQueue.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/CircularQueue.java Sat Feb 27 02:01:58 2010
@@ -119,7 +119,7 @@
public boolean offer(E item) {
if (item == null) {
- throw new NullPointerException("item");
+ throw new IllegalArgumentException("item cannot be null");
}
expandIfNeeded();
Modified: mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/byteaccess/ByteArrayList.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/byteaccess/ByteArrayList.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/byteaccess/ByteArrayList.java (original)
+++ mina/branches/mina-2-cleanup/core/src/main/java/org/apache/mina/util/byteaccess/ByteArrayList.java Sat Feb 27 02:01:58 2010
@@ -245,7 +245,7 @@
if ( ba == null )
{
- throw new NullPointerException( "ByteArray must not be null." );
+ throw new IllegalArgumentException( "ByteArray must not be null." );
}
this.ba = ba;
}
Modified: mina/branches/mina-2-cleanup/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/mina-2-cleanup/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java?rev=916892&r1=916891&r2=916892&view=diff
==============================================================================
--- mina/branches/mina-2-cleanup/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java (original)
+++ mina/branches/mina-2-cleanup/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java Sat Feb 27 02:01:58 2010
@@ -33,6 +33,7 @@
import java.util.concurrent.Executor;
import org.apache.mina.core.RuntimeIoException;
+import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.polling.AbstractPollingIoConnector;
import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.service.IoProcessor;
@@ -63,8 +64,8 @@
private static final int POLLSET_SIZE = 1024;
- private final Map<Long, ConnectionRequest> requests =
- new HashMap<Long, ConnectionRequest>(POLLSET_SIZE);
+ private final Map<Long, ConnectFuture<Long>> futures =
+ new HashMap<Long, ConnectFuture<Long>>(POLLSET_SIZE);
private final Object wakeupLock = new Object();
private volatile long wakeupSocket;
@@ -213,8 +214,8 @@
* {@inheritDoc}
*/
@Override
- protected ConnectionRequest getConnectionRequest(Long handle) {
- return requests.get(handle);
+ protected ConnectFuture<Long> getConnectFuture(Long handle) {
+ return futures.get(handle);
}
/**
@@ -235,7 +236,8 @@
@Override
protected boolean finishConnect(Long handle) throws Exception {
Poll.remove(pollset, handle);
- requests.remove(handle);
+ futures.remove(handle);
+
if (failedHandles.remove(handle)) {
int rv = Socket.recvb(handle, dummyBuffer, 0, 1);
throwException(rv);
@@ -303,14 +305,15 @@
* {@inheritDoc}
*/
@Override
- protected void register(Long handle, ConnectionRequest request)
+ protected void register(Long handle, ConnectFuture<Long> future)
throws Exception {
int rv = Poll.add(pollset, handle, Poll.APR_POLLOUT);
+
if (rv != Status.APR_SUCCESS) {
throwException(rv);
}
- requests.put(handle, request);
+ futures.put(handle, future);
}
/**