Yamcs HTTP API
- Activities
- Alarms
- Audit
- Buckets
- Clearance
- Commands
- COP-1
- Database
- Events
- File Transfer
- IAM
- Indexes
- Instances
- Links
- MDB Override
- MDB
- Packets
- Parameter Archive
- Parameter Lists
- Parameter Values
- Processing
- Queues
- Replication
- RocksDB
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Related
Yamcs Release Notes
Yamcs Server Manual
Source Code Documentation
Download this Document
Subscribe TransfersΒΆ
Subscribe to transfer updates
WebSocket
This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.
Use the message type file-transfers
.
Input Type
interface SubscribeTransfersRequest {
// Yamcs instance name
instance: string;
// File transfer service name
serviceName: string;
// If true, send info on all currently ongoing transfers,
// as well as any future updates (recommended).
//
// For legacy reasons, the default is ``false``, which will
// send also finished transfers upon subscription. This behaviour
// is due for removal in a future release (if you want to receive
// past transfers, do a GET request).
ongoingOnly: boolean;
}
Output Type
interface TransferInfo {
//unique identifier assigned by the file transfer service
id: string; // String decimal
//when the transfer has started. Note that this will not be set for QUEUED transfers.
startTime: string; // RFC 3339 timestamp
state: TransferState;
bucket: string;
objectName: string;
remotePath: string;
direction: TransferDirection;
totalSize: string; // String decimal
sizeTransferred: string; // String decimal
//reliable = true -> class 2 transfer
//reliable = false -> class 1 transfer
reliable: boolean;
//in case the transcation is failed, this provides more information
failureReason: string;
// valid for CFDP: transaction id;
// for the incoming transfers it is assigned by the remote peer so therefore might not be unique
transactionId: TransactionId;
// when the transfer has been created.
creationTime: string; // RFC 3339 timestamp
// depending on the implementation, can mean normal file transfer, directory listing request, file download request, etc.
transferType: string;
// Local entity, may be empty if there is only one such entity.
localEntity: EntityInfo;
// Remote entity, may be empty if there is only one such entity.
remoteEntity: EntityInfo;
}
Related Types
interface TransactionId {
sequenceNumber: number;
initiatorEntity: string; // String decimal
}
interface EntityInfo {
name: string;
id: string; // String decimal
}
enum TransferState {
RUNNING = "RUNNING",
PAUSED = "PAUSED",
FAILED = "FAILED",
COMPLETED = "COMPLETED",
QUEUED = "QUEUED",
CANCELLING = "CANCELLING",
}
enum TransferDirection {
UPLOAD = "UPLOAD",
DOWNLOAD = "DOWNLOAD",
}