pub enum Action<'a> {
Show 14 variants
SendAck {
transaction_id: TransactionId,
destination_id: EntityId,
directive_code: DirectiveCode,
condition_code: ConditionCode,
transaction_status: TransactionStatus,
},
SendFinished {
filestore_responses: Vec<FilestoreResponse, 4, u8>,
transaction_id: TransactionId,
destination_id: EntityId,
condition_code: ConditionCode,
},
SendNak {
transaction_id: TransactionId,
destination_id: EntityId,
start_of_scope: u64,
end_of_scope: u64,
},
SendKeepAlive {
transaction_id: TransactionId,
destination_id: EntityId,
progress: u64,
},
WriteFileData {
transaction_id: TransactionId,
data: &'a [u8],
offset: u64,
},
StartTimer {
transaction_id: TransactionId,
seconds: u16,
timer_type: TimerType,
},
StopTimer {
transaction_id: TransactionId,
timer_type: Option<TimerType>,
},
TerminateTransaction {
transaction_id: TransactionId,
condition_code: ConditionCode,
},
NotifyFileReceived {
transaction_id: TransactionId,
file_size: u64,
file_name: FileId,
},
VerifyChecksum {
transaction_id: TransactionId,
expected_checksum: u32,
checksum_type: ChecksumType,
},
NotifyFault {
transaction_id: TransactionId,
condition_code: ConditionCode,
},
NotifySuspended {
transaction_id: TransactionId,
},
NotifyResumed {
transaction_id: TransactionId,
progress: u64,
},
ExecuteFilestoreRequests {
requests: Vec<FilestoreRequest, 4, u8>,
transaction_id: TransactionId,
},
}Expand description
Represents all possible outputs from the ReceiverMachine.
These are instructions for the Runner to execute.
Variants§
SendAck
Instructs the Runner to serialize and send an ACK PDU.
Fields
transaction_id: TransactionIdThe transaction this ACK belongs to.
directive_code: DirectiveCodeThe directive being acknowledged.
condition_code: ConditionCodeThe condition under which this ACK is sent.
transaction_status: TransactionStatusThe current status of the transaction.
SendFinished
Instructs the Runner to serialize and send a Finished PDU.
Fields
filestore_responses: Vec<FilestoreResponse, 4, u8>Responses from executed filestore requests.
transaction_id: TransactionIdThe transaction this Finished PDU belongs to.
condition_code: ConditionCodeThe condition under which the transaction finished.
SendNak
Instructs the Runner to serialize and send a NAK PDU.
Fields
transaction_id: TransactionIdThe transaction this NAK belongs to.
SendKeepAlive
Instructs the Runner to serialize and send a Keep Alive PDU.
Fields
transaction_id: TransactionIdThe transaction this Keep Alive belongs to.
WriteFileData
Instructs the Runner to write a chunk of data to the filestore.
Fields
transaction_id: TransactionIdThe transaction this file data belongs to.
StartTimer
Instructs the Runner to start a timer for a specific transaction.
Fields
transaction_id: TransactionIdThe transaction this timer is associated with.
StopTimer
Instructs the Runner to stop a timer for a specific transaction.
Fields
transaction_id: TransactionIdThe transaction whose timer should be stopped.
TerminateTransaction
Instructs the Runner to notify the user that a transaction has finished.
Fields
transaction_id: TransactionIdThe transaction being terminated.
condition_code: ConditionCodeThe condition that caused the termination.
NotifyFileReceived
Instructs the Runner to notify the user that a file has been successfully received.
Fields
transaction_id: TransactionIdThe unique ID of the completed transaction.
VerifyChecksum
Instructs the Runner to verify the checksum of the received file.
Fields
transaction_id: TransactionIdThe transaction whose file checksum should be verified.
checksum_type: ChecksumTypeThe algorithm used to compute the checksum.
NotifyFault
Instructs the Runner to notify the user that a fault has occurred.
Fields
transaction_id: TransactionIdThe transaction in which the fault occurred.
condition_code: ConditionCodeThe condition code describing the fault.
NotifySuspended
Instructs the Runner to notify the user that a transaction was suspended.
Fields
transaction_id: TransactionIdThe transaction that was suspended.
NotifyResumed
Instructs the Runner to notify the user that a transaction was resumed.
Fields
transaction_id: TransactionIdThe transaction that was resumed.
ExecuteFilestoreRequests
Instructs the Runner to execute filestore requests and report back with the results.
Fields
requests: Vec<FilestoreRequest, 4, u8>The filestore requests received in the Metadata PDU.
transaction_id: TransactionIdThe transaction these requests belong to.