rabbit.proxy
Class RandomStream

java.lang.Object
  extended by java.io.InputStream
      extended by rabbit.proxy.RandomStream
All Implemented Interfaces:
java.io.Closeable

public class RandomStream
extends java.io.InputStream

This class reads data from a cachefile.


Nested Class Summary
static class RandomStream.Range
          A single range for a resource.
 
Constructor Summary
RandomStream(Connection con, Connection.RequestHandler rh, java.util.List<RandomStream.Range> ranges, long totalSize)
          Create a new CacheStream from the given NCacheEntry
 
Method Summary
 void close()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 
Methods inherited from class java.io.InputStream
available, mark, markSupported, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomStream

public RandomStream(Connection con,
                    Connection.RequestHandler rh,
                    java.util.List<RandomStream.Range> ranges,
                    long totalSize)
             throws java.io.FileNotFoundException,
                    java.io.IOException
Create a new CacheStream from the given NCacheEntry

Parameters:
rh - the RequestHandler for this request.
ranges - the ranges that have been requested
totalSize - the size to use.
Throws:
java.io.FileNotFoundException - if the cachefile is not found.
java.io.IOException
Method Detail

read

public int read()
         throws java.io.IOException
Specified by:
read in class java.io.InputStream
Throws:
java.io.IOException

read

public int read(byte[] b)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.InputStream
Throws:
java.io.IOException