Trait Client

Source
pub trait Client {
Show 31 methods // Required methods fn update_address<'life0, 'async_trait>( &'life0 self, address: Address, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_security_algo<'life0, 'async_trait>( &'life0 self, algo: SecurityAlgo, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn add_data_identifier<'life0, 'async_trait>( &'life0 self, did: DataIdentifier, length: usize, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn remove_data_identifier<'life0, 'async_trait>( &'life0 self, did: DataIdentifier, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn session_ctrl<'life0, 'async_trait>( &'life0 mut self, type: SessionType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn ecu_reset<'life0, 'async_trait>( &'life0 mut self, type: ECUResetType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn security_access<'life0, 'async_trait>( &'life0 mut self, level: u8, params: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn unlock_security_access<'life0, 'async_trait>( &'life0 mut self, level: u8, params: Vec<u8>, salt: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn communication_control<'life0, 'async_trait>( &'life0 mut self, ctrl_type: CommunicationCtrlType, comm_type: CommunicationType, node_id: Option<NodeId>, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn authentication<'life0, 'async_trait>( &'life0 mut self, auth_task: AuthenticationTask, data: Authentication, ) -> Pin<Box<dyn Future<Output = CanResult<Authentication, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn tester_present<'life0, 'async_trait>( &'life0 mut self, type: TesterPresentType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn secured_data_transmit<'life0, 'async_trait>( &'life0 mut self, apar: AdministrativeParameter, signature: SignatureEncryptionCalculation, anti_replay_cnt: u16, service: u8, service_data: Vec<u8>, signature_data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<SecuredDataTrans, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn control_dtc_setting<'life0, 'async_trait>( &'life0 mut self, type: DTCSettingType, parameter: Vec<u8>, suppress_positive: bool, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn response_on_event<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn link_control<'life0, 'async_trait>( &'life0 mut self, type: LinkCtrlType, data: LinkCtrl, suppress_positive: bool, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, others: Vec<DataIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<ReadDID, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_memory_by_address<'life0, 'async_trait>( &'life0 mut self, mem_loc: MemoryLocation, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_scaling_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, ) -> Pin<Box<dyn Future<Output = CanResult<ReadScalingDID, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_data_by_period_identifier<'life0, 'async_trait>( &'life0 mut self, mode: TransmissionMode, did: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<ReadDataByPeriodId, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn dynamically_define_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, type: DefinitionType, data: DynamicallyDefineDID, suppress_positive: bool, ) -> Pin<Box<dyn Future<Output = CanResult<Option<DynamicallyDefineDID>, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn write_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn write_memory_by_address<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, record: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<WriteMemByAddr, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn clear_dtc_info<'life0, 'async_trait>( &'life0 mut self, group: U24, mem_sel: Option<u8>, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn read_dtc_info<'life0, 'async_trait>( &'life0 mut self, type: DTCReportType, data: DTCInfo, ) -> Pin<Box<dyn Future<Output = CanResult<DTCInfo, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn io_control<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, param: IOCtrlParameter, state: Vec<u8>, mask: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<IOCtrl, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn routine_control<'life0, 'async_trait>( &'life0 mut self, type: RoutineCtrlType, routine_id: u16, option_record: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<RoutineCtrl, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn request_download<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, dfi: Option<DataFormatIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<RequestDownload, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn request_upload<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, dfi: Option<DataFormatIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<RequestUpload, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn transfer_data<'life0, 'async_trait>( &'life0 mut self, sequence: u8, data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<TransferData, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn request_transfer_exit<'life0, 'async_trait>( &'life0 mut self, parameter: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn request_file_transfer<'life0, 'async_trait>( &'life0 mut self, operation: ModeOfOperation, data: RequestFileTransfer, ) -> Pin<Box<dyn Future<Output = CanResult<RequestFileTransfer, DoCanError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}

Required Methods§

Source

fn update_address<'life0, 'async_trait>( &'life0 self, address: Address, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn update_security_algo<'life0, 'async_trait>( &'life0 self, algo: SecurityAlgo, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn add_data_identifier<'life0, 'async_trait>( &'life0 self, did: DataIdentifier, length: usize, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn remove_data_identifier<'life0, 'async_trait>( &'life0 self, did: DataIdentifier, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn session_ctrl<'life0, 'async_trait>( &'life0 mut self, type: SessionType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

  • Diagnostic and communication management functional unit - *
Source

fn ecu_reset<'life0, 'async_trait>( &'life0 mut self, type: ECUResetType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn security_access<'life0, 'async_trait>( &'life0 mut self, level: u8, params: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn unlock_security_access<'life0, 'async_trait>( &'life0 mut self, level: u8, params: Vec<u8>, salt: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn communication_control<'life0, 'async_trait>( &'life0 mut self, ctrl_type: CommunicationCtrlType, comm_type: CommunicationType, node_id: Option<NodeId>, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn authentication<'life0, 'async_trait>( &'life0 mut self, auth_task: AuthenticationTask, data: Authentication, ) -> Pin<Box<dyn Future<Output = CanResult<Authentication, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn tester_present<'life0, 'async_trait>( &'life0 mut self, type: TesterPresentType, suppress_positive: bool, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn secured_data_transmit<'life0, 'async_trait>( &'life0 mut self, apar: AdministrativeParameter, signature: SignatureEncryptionCalculation, anti_replay_cnt: u16, service: u8, service_data: Vec<u8>, signature_data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<SecuredDataTrans, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn control_dtc_setting<'life0, 'async_trait>( &'life0 mut self, type: DTCSettingType, parameter: Vec<u8>, suppress_positive: bool, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn response_on_event<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn read_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, others: Vec<DataIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<ReadDID, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn read_memory_by_address<'life0, 'async_trait>( &'life0 mut self, mem_loc: MemoryLocation, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn read_scaling_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, ) -> Pin<Box<dyn Future<Output = CanResult<ReadScalingDID, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn read_data_by_period_identifier<'life0, 'async_trait>( &'life0 mut self, mode: TransmissionMode, did: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<ReadDataByPeriodId, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

  • Data transmission functional unit - *
Source

fn dynamically_define_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, type: DefinitionType, data: DynamicallyDefineDID, suppress_positive: bool, ) -> Pin<Box<dyn Future<Output = CanResult<Option<DynamicallyDefineDID>, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn write_data_by_identifier<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn write_memory_by_address<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, record: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<WriteMemByAddr, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn clear_dtc_info<'life0, 'async_trait>( &'life0 mut self, group: U24, mem_sel: Option<u8>, addr_type: AddressType, ) -> Pin<Box<dyn Future<Output = CanResult<(), DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Stored data transmission functional unit - *

Source

fn read_dtc_info<'life0, 'async_trait>( &'life0 mut self, type: DTCReportType, data: DTCInfo, ) -> Pin<Box<dyn Future<Output = CanResult<DTCInfo, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn io_control<'life0, 'async_trait>( &'life0 mut self, did: DataIdentifier, param: IOCtrlParameter, state: Vec<u8>, mask: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<IOCtrl, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

  • InputOutput control functional unit - *
Source

fn routine_control<'life0, 'async_trait>( &'life0 mut self, type: RoutineCtrlType, routine_id: u16, option_record: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<RoutineCtrl, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

  • Remote activation of routine functional unit - *
Source

fn request_download<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, dfi: Option<DataFormatIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<RequestDownload, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

  • Upload download functional unit - *
Source

fn request_upload<'life0, 'async_trait>( &'life0 mut self, alfi: AddressAndLengthFormatIdentifier, mem_addr: u128, mem_size: u128, dfi: Option<DataFormatIdentifier>, ) -> Pin<Box<dyn Future<Output = CanResult<RequestUpload, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn transfer_data<'life0, 'async_trait>( &'life0 mut self, sequence: u8, data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<TransferData, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn request_transfer_exit<'life0, 'async_trait>( &'life0 mut self, parameter: Vec<u8>, ) -> Pin<Box<dyn Future<Output = CanResult<Vec<u8>, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn request_file_transfer<'life0, 'async_trait>( &'life0 mut self, operation: ModeOfOperation, data: RequestFileTransfer, ) -> Pin<Box<dyn Future<Output = CanResult<RequestFileTransfer, DoCanError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

Source§

impl<D, C, F> Client for DoCanClient<D, C, F>
where D: CanDevice<Channel = C, Frame = F> + Clone + Send + Sync + 'static, C: Display + Clone + Hash + Eq + Send + Sync + 'static, F: CanFrame<Channel = C> + Clone + Display + Send + Sync + 'static,