Interface RemoteExtractionPlugin

All Superinterfaces:
BaseExtractionPlugin
All Known Implementing Classes:
ExtractionPluginClient

public interface RemoteExtractionPlugin extends BaseExtractionPlugin
ExtractionPlugin for client side implementations. Compared to other extraction plugins, it expects a specific types of Trace being processed (see process(ClientTrace, ClientDataContext) and (see processDeferred(ClientTrace, ClientDataContext, TraceSearcher).

The reason for this is that it is used to simplify the implementation for creating children over a gRPC network. See ClientTrace for more information.

  • Method Details

    • isCompatible

      boolean isCompatible()
      Checks that the API implemented by the remote plugin is compatible with the currently loaded (runtime) Extraction Plugin SDK version.
      Returns:
      true if compatible, false otherwise
    • process

      void process(ClientTrace trace, ClientDataContext dataContext) throws IOException
      See ExtractionPlugin.process(Trace, DataContext), but requires a special type of Trace.
      Parameters:
      trace - the trace to process
      dataContext - data context of this trace extraction
      Throws:
      IOException - when an I/O error occurs
    • processDeferred

      void processDeferred(ClientTrace trace, ClientDataContext dataContext, TraceSearcher searcher) throws IOException
      See ExtractionPlugin.process(Trace, DataContext), but requires a special type of Trace.
      Parameters:
      trace - the trace to process
      dataContext - data context of this trace extraction
      searcher - the trace searcher
      Throws:
      IOException - when an I/O error occurs
    • transform

      TransformerArgument transform(TransformerLabel label, Map<String,String> arguments)
      Calls a transformer method of a remote extraction plugin.
      Parameters:
      label - Describes the name, parameters and return type of the transformer method that we want to invoke.
      arguments - The actual arguments we want to pass to the method. Specified as a name and value pair.
      Returns:
      Returns a value that was produced by the transformer method.