org.eclipse.jgit.util.io
Class StreamCopyThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.eclipse.jgit.util.io.StreamCopyThread
All Implemented Interfaces:
Runnable

public class StreamCopyThread
extends Thread

Thread to copy from an input stream to an output stream.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
StreamCopyThread(InputStream i, OutputStream o)
          Create a thread to copy data from an input stream to an output stream.
 
Method Summary
 void flush()
          Request the thread to flush the output stream as soon as possible.
 void halt()
          Request that the thread terminate, and wait for it.
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StreamCopyThread

public StreamCopyThread(InputStream i,
                        OutputStream o)
Create a thread to copy data from an input stream to an output stream.

Parameters:
i - stream to copy from. The thread terminates when this stream reaches EOF. The thread closes this stream before it exits.
o - stream to copy into. The destination stream is automatically closed when the thread terminates.
Method Detail

flush

public void flush()
Request the thread to flush the output stream as soon as possible.

This is an asynchronous request to the thread. The actual flush will happen at some future point in time, when the thread wakes up to process the request.


halt

public void halt()
          throws InterruptedException
Request that the thread terminate, and wait for it.

This method signals to the copy thread that it should stop as soon as there is no more IO occurring.

Throws:
InterruptedException - the calling thread was interrupted.

run

public void run()
Specified by:
run in interface Runnable
Overrides:
run in class Thread


Copyright © 2013. All Rights Reserved.