Interface InternalTraceRmiService

All Superinterfaces:
TraceRmiService

public interface InternalTraceRmiService extends TraceRmiService
The same as the TraceRmiService, but grants access to the internal types (without casting) to implementors of TraceRmiLaunchOpinion.
  • Method Details

    • acceptOne

      ghidra.app.plugin.core.debug.service.tracermi.DefaultTraceRmiAcceptor acceptOne(SocketAddress address) throws IOException
      Description copied from interface: TraceRmiService
      Prepare to accept a single connection by listening on the given address.

      This essentially starts a server (separate from the one creased by TraceRmiService.startServer()) that will accept a single connection. The server is started by this method. The caller can then invoke (on the same thread) whatever back-end system or agent that is expected to connect back to this service. Assuming that system runs in the background, this thread can then invoke TraceRmiAcceptor.accept() to actually accept that connection. Once accepted, the service is terminated, and the server socket is closed. The client socket remains open.

      Specified by:
      acceptOne in interface TraceRmiService
      Parameters:
      address - the socket address to bind, or null for ephemeral
      Returns:
      the acceptor, which can be used to retrieve the ephemeral address and accept the actual connection
      Throws:
      IOException - on error
    • connect

      ghidra.app.plugin.core.debug.service.tracermi.TraceRmiHandler connect(SocketAddress address) throws IOException
      Description copied from interface: TraceRmiService
      Assuming a back-end debugger is listening, connect to it.
      Specified by:
      connect in interface TraceRmiService
      Parameters:
      address - the address (and port) of the back-end system
      Returns:
      the connection
      Throws:
      IOException - if the connection failed