Class CaptureControlFiles

java.lang.Object
com.shaft.capture.control.CaptureControlFiles

public final class CaptureControlFiles extends Object
Atomic local state files used by the detached capture process.
  • Constructor Details

    • CaptureControlFiles

      public CaptureControlFiles(Path runtimeDirectory)
      Creates local control files under a runtime directory.
      Parameters:
      runtimeDirectory - local runtime directory
  • Method Details

    • runtimeDirectory

      public Path runtimeDirectory()
      Returns the local runtime directory.
      Returns:
      runtime directory
    • writeStatus

      public void writeStatus(CaptureStatus status)
      Writes the safe status snapshot.
      Parameters:
      status - safe status
    • readStatus

      public CaptureStatus readStatus()
      Reads the safe status snapshot.
      Returns:
      latest status or not-running status
    • writeDescriptor

      public void writeDescriptor(CaptureControlFiles.ControlDescriptor descriptor)
      Writes loopback control metadata.
      Parameters:
      descriptor - control descriptor
    • readDescriptor

      public CaptureControlFiles.ControlDescriptor readDescriptor()
      Reads loopback control metadata.
      Returns:
      descriptor
    • writeToken

      public void writeToken(String token)
      Writes the per-session authorization token with owner-only permissions where supported.
      Parameters:
      token - authorization token
    • readToken

      public String readToken()
      Reads the per-session authorization token.
      Returns:
      token
    • writeLaunchRequest

      public Path writeLaunchRequest(CaptureStartRequest request)
      Writes a one-time daemon launch request.
      Parameters:
      request - start request
      Returns:
      request file
    • consumeLaunchRequest

      public CaptureStartRequest consumeLaunchRequest(Path path)
      Reads and removes a one-time daemon launch request.
      Parameters:
      path - request file
      Returns:
      request
    • clearActiveControl

      public void clearActiveControl()
      Removes active control metadata while preserving final status.
    • hasActiveControl

      public boolean hasActiveControl()
      Returns whether active control metadata exists.
      Returns:
      true when descriptor and token are present