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.ExecuteStreamHandler
Establish event passing with a subprocess and pump events to the bus.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
LocalSlaveStreamHandler.OnDiskStreamEvent
-
Field Summary
Fields Modifier and Type Field Description private java.nio.charset.Charset
clientCharset
Client charset extracted fromBootstrapEvent
.private com.google.common.eventbus.EventBus
eventBus
private java.io.InputStream
eventStream
private long
heartbeat
private java.lang.Long
lastActivity
A timestamp of last received event (GH-106).private java.util.List<java.lang.Thread>
pumpers
private java.lang.ClassLoader
refLoader
private java.io.InputStream
stderr
private java.io.OutputStream
stdin
raw input stream to the client.private java.io.OutputStreamWriter
stdinWriter
character-wrapped input stream to the client.private java.io.InputStream
stdout
private boolean
stopping
private java.io.RandomAccessFile
streamsBuffer
private java.io.OutputStream
streamsBufferWrapper
private java.io.OutputStream
syserr
private java.io.OutputStream
sysout
private java.io.PrintStream
warnStream
private java.lang.Thread
watchdog
Watchdog 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) void
pumpEvents(java.io.InputStream eventStream)
Pump events from event stream.void
setProcessErrorStream(java.io.InputStream is)
void
setProcessInputStream(java.io.OutputStream os)
void
setProcessOutputStream(java.io.InputStream is)
void
start()
void
stop()
-
-
-
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:
setProcessErrorStream
in interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler
- Throws:
java.io.IOException
-
setProcessOutputStream
public void setProcessOutputStream(java.io.InputStream is) throws java.io.IOException
- Specified by:
setProcessOutputStream
in interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler
- Throws:
java.io.IOException
-
setProcessInputStream
public void setProcessInputStream(java.io.OutputStream os) throws java.io.IOException
- Specified by:
setProcessInputStream
in interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler
- Throws:
java.io.IOException
-
start
public void start() throws java.io.IOException
- Specified by:
start
in 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:
stop
in interfaceorg.apache.tools.ant.taskdefs.ExecuteStreamHandler
-
-