# HG changeset patch # User Shinji KONO # Date 1312374906 -32400 # Node ID 0c5762c3a8ddb0f29010f4756d6ccc46330a863c # Parent 3db7ac2b10f7dc116cf28e59ec2addb163c3dbf2 Test and VNC not working... Memory Overflow... diff -r 3db7ac2b10f7 -r 0c5762c3a8dd src/myVncProxy/MyRfbProto.java --- a/src/myVncProxy/MyRfbProto.java Wed Aug 03 20:55:15 2011 +0900 +++ b/src/myVncProxy/MyRfbProto.java Wed Aug 03 21:35:06 2011 +0900 @@ -64,8 +64,8 @@ byte[] pngBytes; - // private MulticastQueue> multicastqueue = new MostRecentMultiCast>(10); - private MulticastQueue> multicastqueue = new MulticastQueue>(); + private MulticastQueue> multicastqueue = new MostRecentMultiCast>(10); + // private MulticastQueue> multicastqueue = new MulticastQueue>(); private int clients = 0; private Inflater inflater = new Inflater(); @@ -583,6 +583,7 @@ inflater.setInput(input.array(),0,input.limit()); do { len0 = inflater.inflate(buf.array(),buf.position(),buf.remaining()); + if (len0<=0) break; buf.position(buf.position()+len0); len += len0; if (buf.remaining()==0) { @@ -596,7 +597,7 @@ buf.flip(); outputs.addLast(buf); } - inflater.reset(); + // inflater.reset(); // this make JUnit happy, but VNC won't happy with this return len; } @@ -741,14 +742,15 @@ zip(deflater,in,0,out); // LinkedList out3 = clone(out); zipped result is depend on deflator's state unzip(inflater, out, 0,out2); + inflater.reset(); equalByteBuffers(in1, out2); LinkedList out4 = new LinkedList(); zip(deflater,out2,0,out4); LinkedList out5 = new LinkedList(); unzip(inflater,out4,0, out5); - equalByteBuffers(in1,out5); + int len = equalByteBuffers(in1,out5); - System.out.println("Test Ok."); + System.out.println("Test Ok. "+len); } catch (Exception e) { assertEquals(0,1); } @@ -765,12 +767,14 @@ - public void equalByteBuffers(LinkedList in, + public int equalByteBuffers(LinkedList in, LinkedList out2) { + int len = 0; Iterable i = byteBufferIterator(in); Iterator o = byteBufferIterator(out2).iterator(); for(int b: i) { + len ++; if (o.hasNext()) { int c = o.next(); assertEquals(b,c); @@ -779,6 +783,7 @@ } if (o.hasNext()) assertEquals(0,1); // System.out.println(); + return len; } private Iterable byteBufferIterator(final LinkedList in) {