Package de.gebit.integrity.remoting.server

## Interface IntegrityRemotingServerListener

- All Known Implementing Classes:
    `DefaultTestRunner.RemotingListener`

      public interface IntegrityRemotingServerListener

  This listener must be implemented by the server process itself and serves as a kind of callback.
  Author:
    Rene Schneider - initial API and implementation

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onConnectionLost​(Endpoint anEndpoint)` | Called when a connection to a client was lost.
    `void` | `onConnectionSuccessful​(IntegrityRemotingVersionMessage aRemoteVersion, Endpoint anEndpoint)` | Called when a connection attempt from a client was successful.
    `void` | `onCreateBreakpoint​(Integer anEntryReference, Endpoint anEndpoint)` | Called when a client wants to create a breakpoint.
    `void` | `onForkSetupRetrieval​(List<? extends TestResourceProvider> someResourceProviders, SetList aSetList, Map<String,​Object> someInitialVariables, int aNumberOfSuiteInvocations)` | Called when a client (typically a fork master) injects its entire test script set and set list state into the server.
    `void` | `onPauseCommand​(Endpoint anEndpoint)` | Called when a "pause tests" command from a client came in.
    `void` | `onRemoveBreakpoint​(Integer anEntryReference, Endpoint anEndpoint)` | Called when a client wants to remove a breakpoint.
    `void` | `onRunCommand​(Endpoint anEndpoint)` | Called when a "run tests" command from a client came in.
    `void` | `onSetListRequest​(Endpoint anEndpoint)` | Called when a set list request from a client came in.
    `void` | `onShutdownRequest()` | Called when a client requested a process shutdown.
    `void` | `onStepIntoCommand​(Endpoint anEndpoint)` | Called when a "step into" command from a client came in.
    `void` | `onTimeSyncResponse​(TimeSyncResultMessage aResult)` | Called when a timesync response has arrived.
    `void` | `onTimeSyncState​(long aRealtimeOffset, long aRealtimeDecouplingTime, double aProgressionFactor)` | Called when a timesync state has arrived.
    `void` | `onVariableUnsetRetrieval​(String aVariableName)` | Called when an unsetting of a variable was received from a master.
    `void` | `onVariableUpdateRetrieval​(String aVariableName, Serializable aValue)` | Called when an update for a variable was received from a master.

- - ### Method Detail

    - #### onConnectionSuccessful

          void onConnectionSuccessful​(IntegrityRemotingVersionMessage aRemoteVersion,
                                      Endpoint anEndpoint)

      Called when a connection attempt from a client was successful.
      Parameters:
        `aRemoteVersion` - the version of the client
        `anEndpoint` - the endpoint

    - #### onConnectionLost

          void onConnectionLost​(Endpoint anEndpoint)

      Called when a connection to a client was lost.
      Parameters:
        `anEndpoint` - the endpoint

    - #### onSetListRequest

          void onSetListRequest​(Endpoint anEndpoint)

      Called when a set list request from a client came in.
      Parameters:
        `anEndpoint` - the endpoint

    - #### onForkSetupRetrieval

          void onForkSetupRetrieval​(List<? extends TestResourceProvider> someResourceProviders,
                                    SetList aSetList,
                                    Map<String,​Object> someInitialVariables,
                                    int aNumberOfSuiteInvocations)

      Called when a client (typically a fork master) injects its entire test script set and set list state into the server.
      Parameters:
        `someResourceProviders` - the resource providers to load
        `aSetList` - the initial set list state
        `someInitialVariables` - the initial state of variables and constants
        `aNumberOfSuiteInvocations` - the total number of suites to execute on this fork

    - #### onRunCommand

          void onRunCommand​(Endpoint anEndpoint)

      Called when a "run tests" command from a client came in.
      Parameters:
        `anEndpoint` - the endpoint

    - #### onPauseCommand

          void onPauseCommand​(Endpoint anEndpoint)

      Called when a "pause tests" command from a client came in.
      Parameters:
        `anEndpoint` - the endpoint

    - #### onStepIntoCommand

          void onStepIntoCommand​(Endpoint anEndpoint)

      Called when a "step into" command from a client came in.
      Parameters:
        `anEndpoint` - the endpoint

    - #### onCreateBreakpoint

          void onCreateBreakpoint​(Integer anEntryReference,
                                  Endpoint anEndpoint)

      Called when a client wants to create a breakpoint.
      Parameters:
        `anEntryReference` - the entry at which the breakpoint shall be created
        `anEndpoint` - the endpoint

    - #### onRemoveBreakpoint

          void onRemoveBreakpoint​(Integer anEntryReference,
                                  Endpoint anEndpoint)

      Called when a client wants to remove a breakpoint.
      Parameters:
        `anEntryReference` - the entry at which the breakpoint shall be removed
        `anEndpoint` - the endpoint

    - #### onVariableUpdateRetrieval

          void onVariableUpdateRetrieval​(String aVariableName,
                                         Serializable aValue)

      Called when an update for a variable was received from a master.
      Parameters:
        `aVariableName` - the name of the variable
        `aValue` - the new value

    - #### onVariableUnsetRetrieval

          void onVariableUnsetRetrieval​(String aVariableName)

      Called when an unsetting of a variable was received from a master.
      Parameters:
        `aVariableName` - the name of the variable

    - #### onTimeSyncState

          void onTimeSyncState​(long aRealtimeOffset,
                               long aRealtimeDecouplingTime,
                               double aProgressionFactor)

      Called when a timesync state has arrived.
      Parameters:
        `aRealtimeOffset` - the offset of our test time from real system time (wall clock)
        `aRealtimeDecouplingTime` - the point in real time at which our test time was decoupled from system time
        `aProgressionFactor` - the speed at which the test time should progress (1.0 is normal speed, progression factor may be negative too, or 0.0, which means time is frozen)

    - #### onTimeSyncResponse

          void onTimeSyncResponse​(TimeSyncResultMessage aResult)

      Called when a timesync response has arrived. If the arguments' error fields are null, this was successful.

    - #### onShutdownRequest

          void onShutdownRequest()

      Called when a client requested a process shutdown.