Class CfdpService

    • Constructor Detail

      • CfdpService

        public CfdpService()
    • Method Detail

      • getSpec

        public Spec getSpec()
        Description copied from interface: YamcsService
        Returns the valid configuration options for this service.
        Specified by:
        getSpec in interface YamcsService
        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 interface YamcsService
        Overrides:
        init in class AbstractYamcsService
        Parameters:
        yamcsInstance - The yamcs instance, or null if this is a global service.
        serviceName - The service name.
        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.
      • getRemoteEntity

        public EntityConf getRemoteEntity​(long entityId)
      • getLocalEntity

        public EntityConf getLocalEntity​(long entityId)
      • 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
      • getLocalEntities

        public List<org.yamcs.protobuf.EntityInfo> getLocalEntities()
        Description copied from interface: FileTransferService
        Get the list of configured local entities. These contain the {@code source) used in the {@link #startUpload(String, Bucket, String, String, String, TransferOptions)} call.

        Can return an empty list if there is only one unnamed entity.

        Specified by:
        getLocalEntities in interface FileTransferService
        Returns:
      • startUpload

        public CfdpFileTransfer startUpload​(String source,
                                            Bucket bucket,
                                            String objectName,
                                            String destination,
                                            String destinationPath,
                                            TransferOptions options)
                                     throws IOException
        Description copied from interface: FileTransferService
        Start a file upload.
        Specified by:
        startUpload in interface FileTransferService
        Parameters:
        source - the source (local) entity. Can be null if the service supports only one unnamed source entity.
        bucket - the bucket containing the object to be transferred.
        objectName - the object name to be transferred.
        destination - the destination (remote) entity. Can be null if the service supports only one unnamed destination entity.
        destinationPath - the path on the destination where the file will be uploaded. Depending on the implementation this can be the path of a directory in which case the objectName will be used as a destination file name or can be the name of a (non-existent) file which will then be used as the destination file. if the destinationPath is null, then the objectName will be used as the name at the destination.
        options - transfer options.
        Returns:
        Throws:
        IOException - if there was a problem retrieving the object from the bucket.
      • pause

        public void pause​(FileTransfer transfer)
        Description copied from interface: FileTransferService
        Pause the file transfer.

        If the transfer is already paused, this operation has no effect.

        Specified by:
        pause in interface FileTransferService
        Parameters:
        transfer - the transfer to be paused.
      • resume

        public void resume​(FileTransfer transfer)
        Description copied from interface: FileTransferService
        Resume the file transfer.

        If the transfer is not paused, this call has no effect.

        Specified by:
        resume in interface FileTransferService
        Parameters:
        transfer - the transfer to be resumed.
      • startDownload

        public FileTransfer startDownload​(String sourceEntity,
                                          String sourcePath,
                                          String destinationEntity,
                                          Bucket bucket,
                                          String objectName,
                                          TransferOptions options)
                                   throws IOException,
                                          InvalidRequestException
        Description copied from interface: FileTransferService
        Start a file download.
        Specified by:
        startDownload in interface FileTransferService
        Parameters:
        sourceEntity - the source (remote) entity. Can be null if the service supports only one unnamed source entity.
        sourcePath - the path on the source representing the file to be transferred.
        destinationEntity - the destination (local) entity. Can be null if the service supports only one unnamed destination entity.
        bucket - the bucket where the file will be stored.
        objectName - the object name where the file will be stored.
        options - transfer options.
        Returns:
        Throws:
        IOException - if there was a problem retrieving the object from the bucket.
        InvalidRequestException - thrown if the request is invalid; possible reasons:
        • the source or destination entities are not valid
        • the transfer options are invalid
        • download operation not supported or cannot be triggered by this call (most systems will have a telecommand to trigger a download)
        • other service specific error.
      • getCapabilities

        public org.yamcs.protobuf.FileTransferCapabilities getCapabilities()
        Description copied from interface: FileTransferService
        Get the capabilities supported by this service.

        The capabilities are used by the yamcs-web to enable/disable some options.

        Specified by:
        getCapabilities in interface FileTransferService
        Returns: