Class 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.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.nio.charset.Charset clientCharset
      Client charset extracted from BootstrapEvent.
      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)  
    • 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 from BootstrapEvent.
    • 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 interface org.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 interface org.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 interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler
        Throws:
        java.io.IOException
      • start

        public void start()
                   throws java.io.IOException
        Specified by:
        start in interface org.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 interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler