Package org.yamcs.replication
Class ReplicationMaster
java.lang.Object
com.google.common.util.concurrent.AbstractService
org.yamcs.AbstractYamcsService
org.yamcs.replication.ReplicationMaster
- All Implemented Interfaces:
com.google.common.util.concurrent.Service
,YamcsService
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
-
Field Summary
Fields inherited from class org.yamcs.AbstractYamcsService
config, log, serviceName, yamcsInstance
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStart()
protected void
doStop()
getFile
(long startTxId) Get the file where startTxId transaction is or the earliest file available if the transaction is in the pastgetSpec()
Returns the valid configuration options for this service.long
getTxId()
void
init
(String yamcsInstance, String serviceName, YConfiguration config) Initialize this service.boolean
io.netty.channel.ChannelHandler
newChannelHandler
(Request req) Methods inherited from class org.yamcs.AbstractYamcsService
getConfig, getYamcsInstance
Methods inherited from class com.google.common.util.concurrent.AbstractService
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, doCancelStart, failureCause, isRunning, notifyFailed, notifyStarted, notifyStopped, startAsync, state, stopAsync, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.common.util.concurrent.Service
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, failureCause, isRunning, startAsync, state, stopAsync
-
Constructor Details
-
ReplicationMaster
public ReplicationMaster()
-
-
Method Details
-
init
public void init(String yamcsInstance, String serviceName, 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 interfaceYamcsService
- Overrides:
init
in classAbstractYamcsService
- Parameters:
yamcsInstance
- The yamcs instance, ornull
if this is a global service.serviceName
- The service name.config
- The configured arguments for this service. IfYamcsService.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.
-
getSpec
Description copied from interface:YamcsService
Returns the valid configuration options for this service.- Returns:
- the argument specification, or
null
if the args should not be validated.
-
doStart
protected void doStart()- Specified by:
doStart
in classcom.google.common.util.concurrent.AbstractService
-
doStop
protected void doStop()- Specified by:
doStop
in classcom.google.common.util.concurrent.AbstractService
-
getTxId
public long getTxId() -
newChannelHandler
-
getStreamNames
-
isTcpClient
public boolean isTcpClient() -
getSlaveServers
-
getFile
Get the file where startTxId transaction is or the earliest file available if the transaction is in the pastReturn 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:
-