Class LocalSlaveStreamHandler
- java.lang.Object
-
- com.carrotsearch.ant.tasks.junit4.LocalSlaveStreamHandler
-
- All Implemented Interfaces:
org.apache.tools.ant.taskdefs.ExecuteStreamHandler
public class LocalSlaveStreamHandler extends java.lang.Object implements org.apache.tools.ant.taskdefs.ExecuteStreamHandlerEstablish event passing with a subprocess and pump events to the bus.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classLocalSlaveStreamHandler.OnDiskStreamEvent
-
Field Summary
Fields Modifier and Type Field Description private java.nio.charset.CharsetclientCharsetClient charset extracted fromBootstrapEvent.private com.google.common.eventbus.EventBuseventBusprivate java.io.InputStreameventStreamprivate longheartbeatprivate java.lang.LonglastActivityA timestamp of last received event (GH-106).private java.util.List<java.lang.Thread>pumpersprivate java.lang.ClassLoaderrefLoaderprivate java.io.InputStreamstderrprivate java.io.OutputStreamstdinraw input stream to the client.private java.io.OutputStreamWriterstdinWritercharacter-wrapped input stream to the client.private java.io.InputStreamstdoutprivate booleanstoppingprivate java.io.RandomAccessFilestreamsBufferprivate java.io.OutputStreamstreamsBufferWrapperprivate java.io.OutputStreamsyserrprivate java.io.OutputStreamsysoutprivate java.io.PrintStreamwarnStreamprivate java.lang.ThreadwatchdogWatchdog thread if heartbeat is to be measured.
-
Constructor Summary
Constructors Constructor Description LocalSlaveStreamHandler(com.google.common.eventbus.EventBus eventBus, java.lang.ClassLoader classLoader, java.io.PrintStream warnStream, java.io.InputStream eventStream, java.io.OutputStream sysout, java.io.OutputStream syserr, long heartbeat, java.io.RandomAccessFile streamsBuffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidpumpEvents(java.io.InputStream eventStream)Pump events from event stream.voidsetProcessErrorStream(java.io.InputStream is)voidsetProcessInputStream(java.io.OutputStream os)voidsetProcessOutputStream(java.io.InputStream is)voidstart()voidstop()
-
-
-
Field Detail
-
eventBus
private final com.google.common.eventbus.EventBus eventBus
-
refLoader
private final java.lang.ClassLoader refLoader
-
stdout
private java.io.InputStream stdout
-
stderr
private java.io.InputStream stderr
-
stdin
private java.io.OutputStream stdin
raw input stream to the client.
-
stdinWriter
private java.io.OutputStreamWriter stdinWriter
character-wrapped input stream to the client.
-
warnStream
private final java.io.PrintStream warnStream
-
eventStream
private final java.io.InputStream eventStream
-
stopping
private volatile boolean stopping
-
pumpers
private java.util.List<java.lang.Thread> pumpers
-
sysout
private final java.io.OutputStream sysout
-
syserr
private final java.io.OutputStream syserr
-
heartbeat
private final long heartbeat
-
streamsBuffer
private final java.io.RandomAccessFile streamsBuffer
-
streamsBufferWrapper
private final java.io.OutputStream streamsBufferWrapper
-
lastActivity
private volatile java.lang.Long lastActivity
A timestamp of last received event (GH-106).
-
watchdog
private java.lang.Thread watchdog
Watchdog thread if heartbeat is to be measured.
-
clientCharset
private java.nio.charset.Charset clientCharset
Client charset extracted fromBootstrapEvent.
-
-
Constructor Detail
-
LocalSlaveStreamHandler
public LocalSlaveStreamHandler(com.google.common.eventbus.EventBus eventBus, java.lang.ClassLoader classLoader, java.io.PrintStream warnStream, java.io.InputStream eventStream, java.io.OutputStream sysout, java.io.OutputStream syserr, long heartbeat, java.io.RandomAccessFile streamsBuffer)
-
-
Method Detail
-
setProcessErrorStream
public void setProcessErrorStream(java.io.InputStream is) throws java.io.IOException- Specified by:
setProcessErrorStreamin interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler- Throws:
java.io.IOException
-
setProcessOutputStream
public void setProcessOutputStream(java.io.InputStream is) throws java.io.IOException- Specified by:
setProcessOutputStreamin interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler- Throws:
java.io.IOException
-
setProcessInputStream
public void setProcessInputStream(java.io.OutputStream os) throws java.io.IOException- Specified by:
setProcessInputStreamin interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler- Throws:
java.io.IOException
-
start
public void start() throws java.io.IOException- Specified by:
startin interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler- Throws:
java.io.IOException
-
pumpEvents
void pumpEvents(java.io.InputStream eventStream)
Pump events from event stream.
-
stop
public void stop()
- Specified by:
stopin interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler
-
-