Package org.yamcs.cfdp
Class CfdpService
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractService
-
- org.yamcs.AbstractYamcsService
-
- org.yamcs.cfdp.CfdpService
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service
,TransferMonitor
,YamcsService
,StreamSubscriber
public class CfdpService extends AbstractYamcsService implements StreamSubscriber, TransferMonitor
Implements CCSDS File Delivery Protocol (CFDP) in Yamcs.The standard is specified in CCSDS 727.0-B-4
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SRCDST
-
Fields inherited from class org.yamcs.AbstractYamcsService
config, log, serviceName, yamcsInstance
-
-
Constructor Summary
Constructors Constructor Description CfdpService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTransferListener(TransferMonitor listener)
protected void
doStart()
protected void
doStop()
CfdpTransfer
getCfdpTransfer(long id)
OngoingCfdpTransfer
getCfdpTransfer(CfdpTransactionId transferId)
Collection<CfdpTransfer>
getCfdpTransfers()
Map<String,Long>
getLocalEntities()
EntityConf
getLocalEntity(long entityId)
OngoingCfdpTransfer
getOngoingCfdpTransfer(long id)
Map<String,Long>
getRemoteEntities()
EntityConf
getRemoteEntity(long entityId)
Spec
getSpec()
Returns the valid configuration options for this service.void
init(String yamcsInstance, String serviceName, YConfiguration config)
Initialize this service.void
onTuple(Stream stream, Tuple tuple)
OngoingCfdpTransfer
processRequest(CfdpRequest request)
void
removeTransferListener(TransferMonitor listener)
void
stateChanged(OngoingCfdpTransfer cfdpTransfer)
void
streamClosed(Stream stream)
-
Methods inherited from class org.yamcs.AbstractYamcsService
getConfig, getYamcsInstance
-
Methods inherited from class com.google.common.util.concurrent.AbstractService
addListener, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, 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, awaitTerminated, awaitTerminated, failureCause, isRunning, startAsync, state, stopAsync
-
Methods inherited from interface org.yamcs.YamcsService
init
-
-
-
-
Field Detail
-
DEFAULT_SRCDST
public static final String DEFAULT_SRCDST
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSpec
public Spec getSpec()
Description copied from interface:YamcsService
Returns the valid configuration options for this service.- Specified by:
getSpec
in interfaceYamcsService
- Returns:
- the argument specification, or null if the args should not be validated.
-
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, or null 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.
-
getCfdpTransfer
public OngoingCfdpTransfer getCfdpTransfer(CfdpTransactionId transferId)
-
getCfdpTransfer
public CfdpTransfer getCfdpTransfer(long id)
-
getCfdpTransfers
public Collection<CfdpTransfer> getCfdpTransfers()
-
processRequest
public OngoingCfdpTransfer processRequest(CfdpRequest request)
-
onTuple
public void onTuple(Stream stream, Tuple tuple)
- Specified by:
onTuple
in interfaceStreamSubscriber
-
getRemoteEntity
public EntityConf getRemoteEntity(long entityId)
-
getLocalEntity
public EntityConf getLocalEntity(long entityId)
-
addTransferListener
public void addTransferListener(TransferMonitor listener)
-
removeTransferListener
public void removeTransferListener(TransferMonitor listener)
-
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
-
streamClosed
public void streamClosed(Stream stream)
- Specified by:
streamClosed
in interfaceStreamSubscriber
-
stateChanged
public void stateChanged(OngoingCfdpTransfer cfdpTransfer)
- Specified by:
stateChanged
in interfaceTransferMonitor
-
getOngoingCfdpTransfer
public OngoingCfdpTransfer getOngoingCfdpTransfer(long id)
-
-