[prev in list] [next in list] [prev in thread] [next in thread]
List: mina-commits
Subject: svn commit: r561368 - in
From: jvermillard () apache ! org
Date: 2007-07-31 16:02:42
Message-ID: 20070731160243.16AA91A981C () eris ! apache ! org
[Download RAW message or body]
Author: jvermillard
Date: Tue Jul 31 09:02:41 2007
New Revision: 561368
URL: http://svn.apache.org/viewvc?view=rev&rev=561368
Log:
more APR to come
Modified:
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionConfig.java
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/DefaultAPRSessionConfig.java
Modified: mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
URL: http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java?view=diff&rev=561368&r1=561367&r2=561368
==============================================================================
--- mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java \
(original)
+++ mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java \
Tue Jul 31 09:02:41 2007 @@ -86,13 +86,11 @@
inetAddr = Address.info(sockAddr.getHostName(), Socket.APR_INET,
sockAddr.getPort(), 0, pool);
- // FIXME : type of socket need to be configurable
-
+ // TODO : type of socket need to be configurable
long clientSock = Socket.create(Socket.APR_INET,
Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool);
- System.err.println("Socket.create(..) : "+clientSock);
- // TODO: error checking ???
+ // FIXME : error checking
int ret = Socket.connect(clientSock, inetAddr);
System.err.println("Socket.connect : " + ret);
if (localAddress != null) {
@@ -143,4 +141,9 @@
return ioProcessors[processorDistributor % processorCount];
}
+ @Override
+ protected void finalize() throws Throwable {
+// TODO : necessary I think, need to check APR doc
+ Pool.clear(pool);
+ }
}
Modified: mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apach \
e/mina/transport/apr/APRIoProcessor.java?view=diff&rev=561368&r1=561367&r2=561368 \
==============================================================================
--- mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java \
(original)
+++ mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java \
Tue Jul 31 09:02:41 2007 @@ -59,7 +59,7 @@
try {
// TODO : optimize/parametrize those values
- pollset = Poll.create(32, pool, /* obviously doesn't work..*/ \
Poll.APR_POLLSET_THREADSAFE, 10000000); + pollset = Poll.create(32, pool, \
Poll.APR_POLLSET_THREADSAFE /* enable poll thread safeness */, 10000000);
} catch (Error e) {
logger.error("APR Error : " + e.getDescription(), e);
@@ -109,8 +109,7 @@
break;
}
- // polling the socket for write and read
- // FIXME : perhaps we should oll write only if needed for save CPU, but actually \
it's too complex for me :) + // polling the socket for read
System.err.println("pollset : "+pollset);
System.err.println("Socket : "+session.getAPRSocket());
int rv;
@@ -125,7 +124,7 @@
} else {
// FIXME: find a way to bring the real APR error from returned codes
session.getFilterChain().fireExceptionCaught(session,
- new RuntimeException("APR Error"));
+ new RuntimeException("APR Error : "+Error.strerror(rv)));
}
}
}
@@ -329,7 +328,6 @@
if (rv > 0) {
for (int n = 0; n < rv; n++) {
long clientSock = desc[n * 2 + 1];
- //logger.debug("Poll flags " + desc[n * 2]);
APRSessionImpl session = managedSessions
.get(clientSock);
@@ -359,5 +357,11 @@
}
}
}
+ }
+
+ @Override
+ protected void finalize() throws Throwable {
+ // TODO : necessary I think, need to check APR doc
+ Pool.clear(pool);
}
}
Modified: mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apach \
e/mina/transport/apr/APRSessionConfig.java?view=diff&rev=561368&r1=561367&r2=561368 \
==============================================================================
--- mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionConfig.java \
(original)
+++ mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionConfig.java \
Tue Jul 31 09:02:41 2007 @@ -1,7 +1,99 @@
package org.apache.mina.transport.apr;
+import java.net.Socket;
+
import org.apache.mina.common.IoSessionConfig;
public interface APRSessionConfig extends IoSessionConfig {
+
+ /**
+ * @see Socket#getReuseAddress()
+ */
+ boolean isReuseAddress();
+
+ /**
+ * @see Socket#setReuseAddress(boolean)
+ */
+ void setReuseAddress(boolean reuseAddress);
+
+ /**
+ * @see Socket#getReceiveBufferSize()
+ */
+ int getReceiveBufferSize();
+
+ /**
+ * @see Socket#setReceiveBufferSize(int)
+ */
+ void setReceiveBufferSize(int receiveBufferSize);
+
+ /**
+ * @see Socket#getSendBufferSize()
+ */
+ int getSendBufferSize();
+
+ /**
+ * @see Socket#setSendBufferSize(int)
+ */
+ void setSendBufferSize(int sendBufferSize);
+
+ /**
+ * @see Socket#getTrafficClass()
+ */
+ int getTrafficClass();
+
+ /**
+ * @see Socket#setTrafficClass(int)
+ */
+ void setTrafficClass(int trafficClass);
+
+ /**
+ * @see Socket#getKeepAlive()
+ */
+ boolean isKeepAlive();
+
+ /**
+ * @see Socket#setKeepAlive(boolean)
+ */
+ void setKeepAlive(boolean keepAlive);
+
+ /**
+ * @see Socket#getOOBInline()
+ */
+ boolean isOobInline();
+
+ /**
+ * @see Socket#setOOBInline(boolean)
+ */
+ void setOobInline(boolean oobInline);
+
+ /**
+ * Please note that enabling <tt>SO_LINGER</tt> in Java NIO can result
+ * in platform-dependent behavior and unexpected blocking of I/O thread.
+ *
+ * @see Socket#getSoLinger()
+ * @see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179351">Sun \
Bug Database</a> + */
+ int getSoLinger();
+
+ /**
+ * Please note that enabling <tt>SO_LINGER</tt> in Java NIO can result
+ * in platform-dependent behavior and unexpected blocking of I/O thread.
+ *
+ * @param soLinger Please specify a negative value to disable \
<tt>SO_LINGER</tt>. + *
+ * @see Socket#setSoLinger(boolean, int)
+ * @see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179351">Sun \
Bug Database</a> + */
+ void setSoLinger(int soLinger);
+
+ /**
+ * @see Socket#getTcpNoDelay()
+ */
+ boolean isTcpNoDelay();
+
+ /**
+ * @see Socket#setTcpNoDelay(boolean)
+ */
+ void setTcpNoDelay(boolean tcpNoDelay);
}
Modified: mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java
URL: http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apach \
e/mina/transport/apr/APRSessionImpl.java?view=diff&rev=561368&r1=561367&r2=561368 \
==============================================================================
--- mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java \
(original)
+++ mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java \
Tue Jul 31 09:02:41 2007 @@ -1,7 +1,6 @@
package org.apache.mina.transport.apr;
import java.net.InetSocketAddress;
-import java.net.SocketAddress;
import java.util.LinkedList;
import java.util.Queue;
@@ -12,14 +11,13 @@
import org.apache.mina.common.TransportType;
import org.apache.mina.common.WriteRequest;
import org.apache.mina.common.support.BaseIoSession;
-import org.apache.mina.common.support.BaseIoSessionConfig;
public class APRSessionImpl extends BaseIoSession implements APRSession {
private long socket;
private final IoService service;
- private final APRSessionConfig config = new APRSessionConfigImpl();
+ private final APRSessionConfig config = new DefaultAPRSessionConfig();
private final APRIoProcessor ioProcessor;
@@ -31,8 +29,6 @@
private byte[] readBuffer=new byte[1024]; //FIXME : fixed rcvd buffer, need to \
change that to a config value
- private int readBufferSize;
-
private final InetSocketAddress remoteAddress;
private final InetSocketAddress localAddress;
@@ -124,14 +120,5 @@
@Override
public InetSocketAddress getServiceAddress() {
return (InetSocketAddress) super.getServiceAddress();
- }
-
- private class APRSessionConfigImpl extends BaseIoSessionConfig implements
- APRSessionConfig {
-
- }
- @Override
- protected void write0(WriteRequest writeRequest) {
- filterChain.fireFilterWrite(this, writeRequest);
}
}
Modified: mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/DefaultAPRSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apach \
e/mina/transport/apr/DefaultAPRSessionConfig.java?view=diff&rev=561368&r1=561367&r2=561368
==============================================================================
--- mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/DefaultAPRSessionConfig.java \
(original)
+++ mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/DefaultAPRSessionConfig.java \
Tue Jul 31 09:02:41 2007 @@ -3,5 +3,85 @@
import org.apache.mina.common.support.BaseIoSessionConfig;
public class DefaultAPRSessionConfig extends BaseIoSessionConfig implements \
APRSessionConfig { +
+ public int getReceiveBufferSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getSendBufferSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getSoLinger() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getTrafficClass() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public boolean isKeepAlive() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isOobInline() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isReuseAddress() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isTcpNoDelay() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void setKeepAlive(boolean keepAlive) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setOobInline(boolean oobInline) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setReceiveBufferSize(int receiveBufferSize) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setReuseAddress(boolean reuseAddress) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setSendBufferSize(int sendBufferSize) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setSoLinger(int soLinger) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setTcpNoDelay(boolean tcpNoDelay) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setTrafficClass(int trafficClass) {
+ // TODO Auto-generated method stub
+
+ }
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic