[Udt-java-commits] SF.net SVN: udt-java:[25] udt-java/trunk/src
Status: Alpha
Brought to you by:
bschuller
From: <bsc...@us...> - 2010-04-25 21:29:46
|
Revision: 25 http://udt-java.svn.sourceforge.net/udt-java/?rev=25&view=rev Author: bschuller Date: 2010-04-25 21:29:40 +0000 (Sun, 25 Apr 2010) Log Message: ----------- Modified Paths: -------------- udt-java/trunk/src/main/java/udt/UDTInputStream.java udt-java/trunk/src/main/java/udt/util/ReceiveFile.java udt-java/trunk/src/main/java/udt/util/SendFile.java udt-java/trunk/src/test/java/udt/TestSendFileReceiveFile.java Modified: udt-java/trunk/src/main/java/udt/UDTInputStream.java =================================================================== --- udt-java/trunk/src/main/java/udt/UDTInputStream.java 2010-04-25 20:32:22 UTC (rev 24) +++ udt-java/trunk/src/main/java/udt/UDTInputStream.java 2010-04-25 21:29:40 UTC (rev 25) @@ -118,7 +118,7 @@ public int read(byte[]target)throws IOException{ try{ int read=0; - updateCurrentChunk(); + updateCurrentChunk(false); while(currentChunk!=null){ byte[]data=currentChunk.data; int length=Math.min(target.length-read,data.length-offset); @@ -136,7 +136,7 @@ return read; } - updateCurrentChunk(); + updateCurrentChunk(blocking && read==0); } if(read>0)return read; @@ -160,12 +160,12 @@ * * @throws InterruptedException */ - private void updateCurrentChunk()throws IOException{ + private void updateCurrentChunk(boolean block)throws IOException{ if(currentChunk!=null)return; while(true){ try{ - if(blocking){ + if(block){ currentChunk=appData.poll(1, TimeUnit.MILLISECONDS); while (!closed && currentChunk==null){ currentChunk=appData.poll(1000, TimeUnit.MILLISECONDS); Modified: udt-java/trunk/src/main/java/udt/util/ReceiveFile.java =================================================================== --- udt-java/trunk/src/main/java/udt/util/ReceiveFile.java 2010-04-25 20:32:22 UTC (rev 24) +++ udt-java/trunk/src/main/java/udt/util/ReceiveFile.java 2010-04-25 21:29:40 UTC (rev 25) @@ -76,11 +76,13 @@ byte[]readBuf=new byte[1024]; ByteBuffer bb=ByteBuffer.wrap(readBuf); - + System.out.println("[ReceiveFile] Requesting file "+remoteFile); //send name file info byte[]fName=remoteFile.getBytes(); - bb.putInt(fName.length); + bb.putInt(fName.length+1); + bb.put(fName); + bb.put((byte)0); out.write(readBuf, 0, bb.position()); Modified: udt-java/trunk/src/main/java/udt/util/SendFile.java =================================================================== --- udt-java/trunk/src/main/java/udt/util/SendFile.java 2010-04-25 20:32:22 UTC (rev 24) +++ udt-java/trunk/src/main/java/udt/util/SendFile.java 2010-04-25 21:29:40 UTC (rev 25) @@ -132,8 +132,8 @@ byte[]readBuf=new byte[32768]; ByteBuffer bb=ByteBuffer.wrap(readBuf); - //read name file info - in.read(readBuf); + //read file name info + while(in.read(readBuf)==0)Thread.sleep(100); //how many bytes to read for the file name int length=bb.getInt(); Modified: udt-java/trunk/src/test/java/udt/TestSendFileReceiveFile.java =================================================================== --- udt-java/trunk/src/test/java/udt/TestSendFileReceiveFile.java 2010-04-25 20:32:22 UTC (rev 24) +++ udt-java/trunk/src/test/java/udt/TestSendFileReceiveFile.java 2010-04-25 21:29:40 UTC (rev 25) @@ -18,7 +18,6 @@ }while(!serverStarted); File f=new File("src/test/java/datafile"); - f=new File("/tmp/200MB"); File tmp=File.createTempFile("udtest-", null); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |