Class RemoteControlWriter

java.lang.Object
org.jacoco.core.data.ExecutionDataWriter
org.jacoco.core.runtime.RemoteControlWriter
All Implemented Interfaces:
IExecutionDataVisitor, ISessionInfoVisitor, IRemoteCommandVisitor

public class RemoteControlWriter extends ExecutionDataWriter implements IRemoteCommandVisitor
ExecutionDataWriter with commands added for runtime remote control.
  • Field Details

    • BLOCK_CMDOK

      public static final byte BLOCK_CMDOK
      Block identifier to confirm successful command execution.
      See Also:
    • BLOCK_CMDDUMP

      public static final byte BLOCK_CMDDUMP
      Block identifier for dump command
      See Also:
  • Constructor Details

    • RemoteControlWriter

      public RemoteControlWriter(OutputStream output) throws IOException
      Creates a new writer based on the given output stream. Depending on the nature of the underlying stream output should be buffered as most data is written in single bytes. Should be buffered when used to write execution data to Socket.getOutputStream(). Should not be buffered when used only for commands because they are short and this will merely add memory overhead.
      Parameters:
      output - stream to write commands to
      Throws:
      IOException - if the header can't be written
  • Method Details

    • sendCmdOk

      public void sendCmdOk() throws IOException
      Sends a confirmation that a commands has been successfully executed and the response is completed.
      Throws:
      IOException - in case of problems with the remote connection
    • visitDumpCommand

      public void visitDumpCommand(boolean dump, boolean reset) throws IOException
      Description copied from interface: IRemoteCommandVisitor
      Requests an execution data dump with an optional reset.
      Specified by:
      visitDumpCommand in interface IRemoteCommandVisitor
      Parameters:
      dump - true if the dump should be executed
      reset - true if the reset should be executed
      Throws:
      IOException - in case of problems with the remote connection