Request data transfer in a certian direction (download/upload) More...
#include <request_transfer.h>
Public Member Functions | |
| std::future< OperationOutput > | HandleMessage (const std::vector< uint8_t > &requestData, MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) override |
| Handle an UDS request message. More... | |
Public Member Functions inherited from ara::diag::routing::RoutableUdsService | |
| uint8_t | GetSid () const noexcept |
| Get SID. More... | |
| ara::core::Result< void > | Offer () |
| Offer handling DM requests. More... | |
| bool | IsOffered () const noexcept |
| Get offering status of the service. More... | |
| void | StopOffer () noexcept |
| Stop offering request handling. | |
Protected Member Functions | |
| RequestTransfer (const ara::core::InstanceSpecifier &specifier, ReentrancyType reentrancyType, uint8_t sid, TransferData &transferData, TransferDirection transferDirection) | |
| Constructor. More... | |
| bool | TryParseRequest (const std::vector< uint8_t > &requestData, uint8_t &dataFormatIdentifier, uint8_t &addressAndLengthFormatIdentifier, std::vector< uint8_t > &memoryAddressAndSize) const |
| Try to parse a transfer request. More... | |
| bool | TryParseLengthFormat (uint8_t dataFormatIdentifier, uint8_t addressAndLengthFormatIdentifier, const std::vector< uint8_t > &memoryAddressAndSize, size_t &memoryAddress, size_t &memorySize) const |
| Try to parse a memory length format. More... | |
| bool | TryRequestTransfer (size_t memoryAddress, size_t memorySize) |
| Try to request a transfer in a certain direction (download/upload) More... | |
| bool | TryGeneratePositiveResponse (MetaInfo &metaInfo, OperationOutput &response) const |
| Try to generate a positive response to a transfer request. More... | |
| std::future< void > | RequestDataTransfer (uint8_t dataFormatIdentifier, uint8_t addressAndLengthFormatIdentifier, std::vector< uint8_t > memoryAddressAndSize, MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) |
| Request diagnostic data transfer. More... | |
Protected Member Functions inherited from ara::diag::routing::RoutableUdsService | |
| RoutableUdsService (const ara::core::InstanceSpecifier &specifier, uint8_t sid) noexcept | |
| Constructor. More... | |
| void | GenerateNegativeResponse (OperationOutput &response, uint8_t nrc) const |
| Generate a negative response with a specific NRC. More... | |
| template<class T > | |
| bool | TryExtractValue (MetaInfo &metaInfo, std::string key, T &value) const |
| Try to extract a value from the given meta-info. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ara::diag::routing::RoutableUdsService | |
| static const uint8_t | cNegativeResponseCodeSid {0x7f} |
| Negative response code service ID. | |
Protected Attributes inherited from ara::diag::routing::RoutableUdsService | |
| const uint8_t | cSubFunctionNotSupported {0x12} |
| Unsupported sub-function NRC. | |
| const uint8_t | cIncorrectMessageLength {0x13} |
| Incorrect message length NRC. | |
| const uint8_t | cRequestSequenceError {0x24} |
| Incorrect request sequence NRC. | |
Static Protected Attributes inherited from ara::diag::routing::RoutableUdsService | |
| static const uint8_t | cPositiveResponseSidIncrement {0x40} |
| SID increment for a positive response. | |
Request data transfer in a certian direction (download/upload)
|
protected |
Constructor.
| specifier | Owner instance specifier |
| reentrancyType | Service reentrancy type |
| sid | UDS service ID |
| transferData | Reference to a TransferData service |
| transferDirection | Data transfer direction |
| std::invalid_argument | Throws when the transfer direction is not determined |
|
overridevirtual |
Handle an UDS request message.
| requestData | Request message byte array |
| metaInfo | Request message metainfo |
| cancellationHandler | Callback to be invoked when the current conversation is cancelled |
Implements ara::diag::routing::RoutableUdsService.
|
protected |
Request diagnostic data transfer.
| dataFormatIdentifier | Diagnostic data compression and/or encryption format ID |
| addressAndLengthFormatIdentifier | Memory address and size length format ID |
| memoryAddressAndSize | Memory address and size length byte array |
| metaInfo | Message handling meta-info |
| cancellationHandler | Message handling cancellation token |
|
protected |
Try to generate a positive response to a transfer request.
| [in] | metaInfo | Message handling meta-info |
| [out] | response | Generated positive response |
|
protected |
Try to parse a memory length format.
| [in] | dataFormatIdentifier | Data transfer encryption and/or compression format ID |
| [in] | addressAndLengthFormatIdentifier | Parsed memory address and size format ID |
| [in] | memoryAddressAndSize | Memory address and size length byte array to be parsed |
| [out] | memoryAddress | Parsed memory address for data transfer |
| [out] | memorySize | Parsed memory size for data transfer |
|
protected |
Try to parse a transfer request.
| [in] | requestData | Transfer request byte array to be parsed |
| [out] | dataFormatIdentifier | Parsed data transfer format ID |
| [out] | addressAndLengthFormatIdentifier | Parsed memory address and size format ID |
| [out] | memoryAddressAndSize | Parsed memory and size length byte array |
|
protected |
Try to request a transfer in a certain direction (download/upload)
| memoryAddress | Memory address for transfer |
| memorySize | Memory size for transfer |