Class ReplicationMaster

  • All Implemented Interfaces:
    com.google.common.util.concurrent.Service, YamcsService

    public class ReplicationMaster
    extends AbstractYamcsService
    Implements the master part of the replication. At any moment there is one current file where the replication data is written.

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service

        com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
    • Constructor Detail

      • ReplicationMaster

        public ReplicationMaster()
    • Method Detail

      • init

        public void init​(String yamcsInstance,
                         YConfiguration config)
                  throws InitException
        Description copied from interface: YamcsService
        Initialize this service. This is called before the service is started. All operations should finish fast.
        Specified by:
        init in interface YamcsService
        Overrides:
        init in class AbstractYamcsService
        Parameters:
        yamcsInstance - The yamcs instance, or null if this is a global service.
        config - The configured arguments for this service. If YamcsService.getSpec() is implemented then this contains the arguments after being validated (including any defaults).
        Throws:
        InitException - When something goes wrong during the execution of this method.
      • doStart

        protected void doStart()
        Specified by:
        doStart in class com.google.common.util.concurrent.AbstractService
      • doStop

        protected void doStop()
        Specified by:
        doStop in class com.google.common.util.concurrent.AbstractService
      • newChannelHandler

        public io.netty.channel.ChannelHandler newChannelHandler​(Request req)
      • getFile

        public ReplicationFile getFile​(long startTxId)
        Get the file where startTxId transaction is or the earliest file available if the transaction is in the past

        Return null if the transaction is in the future. If there is a file which does not contain the startTxId but it's just the next one to come, then return that file.

        Parameters:
        startTxId -
        Returns: