Update of /cvsroot/freenet/freenet/src/freenet/support/io
In directory sc8-pr-cvs1:/tmp/cvs-serv11098/src/freenet/support/io
Modified Files:
NIOInputStream.java
Log Message:
6231:
Allow clients to unregister themselves from maintenance process() in RSL. This fixes
some more FCP problems.
Prevent leak of TSL.dontReregister.
Bugfixes relating to SendData sending padding.
RSL.scheduleMaintenance takes a channel, not an NIOReader.
Cache Socket and SocketChannel on ConnectionHandler. Also changes the localport codes.
Logging
Index: NIOInputStream.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/support/io/NIOInputStream.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -w -r1.20 -r1.21
--- NIOInputStream.java 18 Sep 2003 17:48:13 -0000 1.20
+++ NIOInputStream.java 14 Oct 2003 19:41:38 -0000 1.21
@@ -14,7 +14,7 @@
private boolean disabledInSelector = false;
private volatile boolean registered = false;
private ByteBuffer accumulator;
- private SelectableChannel chan;
+ private SocketChannel chan;
private ReadSelectorLoop rsl;
private NIOReader nextReader = null;
private boolean logDEBUG;
@@ -26,7 +26,7 @@
private static final Object profLock = new Object();
public Object regLock, unregLock;
- public NIOInputStream (ByteBuffer buf, SelectableChannel chan,
+ public NIOInputStream (ByteBuffer buf, SocketChannel chan,
tcpConnection conn) {
this.accumulator = buf;
this.chan = chan;
@@ -48,7 +48,7 @@
return registered;
}
- public NIOInputStream(SelectableChannel chan, tcpConnection conn) {
+ public NIOInputStream(SocketChannel chan, tcpConnection conn) {
this(ByteBuffer.allocateDirect(64*1024),
chan, conn);
accumulator.limit(0).position(0);
@@ -85,7 +85,7 @@
if(!alreadyClosedLink) {
nextReader.configRSL(rsl);
rsl.register(chan, nextReader);
- rsl.scheduleMaintenance(nextReader);
+ rsl.scheduleMaintenance(chan);
} else {
nextReader.closed();
}
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs