Package org.eclipse.jgit.util.io
Class StreamCopyThread
- java.lang.Object
-
- java.lang.Thread
-
- org.eclipse.jgit.util.io.StreamCopyThread
-
- All Implemented Interfaces:
java.lang.Runnable
public class StreamCopyThread extends java.lang.Thread
Thread to copy from an input stream to an output stream.
-
-
Constructor Summary
Constructors Constructor Description StreamCopyThread(java.io.InputStream i, java.io.OutputStream o)
Create a thread to copy data from an input stream to an output stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Constructor Detail
-
StreamCopyThread
public StreamCopyThread(java.io.InputStream i, java.io.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 java.lang.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:
java.lang.InterruptedException
- the calling thread was interrupted.
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
- Overrides:
run
in classjava.lang.Thread
-
-