Class ScoController

  • All Implemented Interfaces:
    org.somda.sdc.glue.consumer.SetServiceAccess

    
    public class ScoController
     implements SetServiceAccess
                        

    Controller class that is responsible for invoking set requests and processing incoming operation invoked reports.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      <T extends AbstractSet, V extends AbstractSetResponse> ListenableFuture<ScoTransaction<V>> invoke(T setRequest, Class<V> responseClass) Invokes a set operation.
      <T extends AbstractSet, V extends AbstractSetResponse> ListenableFuture<ScoTransaction<V>> invoke(T setRequest, @Nullable() Consumer<Pair<OperationInvokedReport.ReportPart, MdibVersion>> reportListener, Class<V> responseClass) Invokes a set operation.
      void processOperationInvokedReport(OperationInvokedReport report) Accepts an operation invoked report and dispatches report parts to SCO transactions.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • invoke

         <T extends AbstractSet, V extends AbstractSetResponse> ListenableFuture<ScoTransaction<V>> invoke(T setRequest, Class<V> responseClass)

        Invokes a set operation.

        If there is no service to access the SCO, this function returns with a cancelled future.

        Parameters:
        setRequest - the set request to send to the remote peer.
        responseClass - the expected response class (due to type erasure cannot be designated generically.
        Returns:

        a future to listen for the SCO transaction (which includes the set response).

      • invoke

         <T extends AbstractSet, V extends AbstractSetResponse> ListenableFuture<ScoTransaction<V>> invoke(T setRequest, @Nullable() Consumer<Pair<OperationInvokedReport.ReportPart, MdibVersion>> reportListener, Class<V> responseClass)

        Invokes a set operation.

        If there is no service to access the SCO, this function returns with a cancelled future.

        Parameters:
        setRequest - the set request to send to the remote peer.
        reportListener - a callback function that accepts reports being received after invocation.
        responseClass - the expected response class (due to type erasure cannot be designated generically.
        Returns:

        a future to listen for the SCO transaction (which includes the set response).

      • processOperationInvokedReport

         void processOperationInvokedReport(OperationInvokedReport report)

        Accepts an operation invoked report and dispatches report parts to SCO transactions.

        Parameters:
        report - the report to dispatch (note that a report can contain multiple report parts that belong to different transaction.