Skip to main content

Client

Struct Client 

Source
pub struct Client<E: ProtocolError> { /* private fields */ }
Expand description

The OCPP client engine, generic over one version’s protocol error type. OCPP1_6Client and OCPP2_0_1Client are just Client<OCPP1_6Error> / Client<OCPP2_0_1Error> - the dispatch/timeout/error machinery below is written once and shared by every version.

Implementations§

Source§

impl<E: ProtocolError> Client<E>

Source

pub fn from_transport( sink: Box<dyn TransportSink>, stream: Box<dyn TransportStream>, timeout: Duration, executor: Box<dyn Executor>, timer: Box<dyn Timer>, ) -> Self

Build a client over any transport - the WebSocket adapter used by connect_1_6 is just one implementation of TransportSink/TransportStream; tests and non-WebSocket transports (an embedded framed link, an in-memory fake for unit tests) construct a client the same way. executor/timer are likewise pluggable: the tokio-runtime feature provides TokioExecutor/TokioTimer; embedded users supply their own (e.g. backed by embassy-executor/embassy-time).

Source

pub fn from_transport_with_reconnect( sink: Box<dyn TransportSink>, stream: Box<dyn TransportStream>, timeout: Duration, executor: Box<dyn Executor>, timer: Box<dyn Timer>, reconnector: Option<Box<dyn Reconnector>>, reconnect_policy: ReconnectPolicy, ) -> Self

Same as Client::from_transport, but with automatic reconnect: when the transport closes (TransportStream::recv returns Ok(None)/Err(_)), the background read loop calls reconnector.connect() (backing off per reconnect_policy between failed attempts) instead of exiting, and swaps in the new transport once one succeeds. reconnector: None reproduces from_transport’s behavior - the read loop exits on disconnect and the client goes quiet. connect_1_6/connect_2_0_1/connect_2_1 use this constructor with a WebSocket-backed Reconnector.

Source

pub async fn call<A: Action>( &self, request: A::Request, ) -> Result<A::Response, ClientError<E>>

Send a CALL for A and wait for the matching CALLRESULT/CALLERROR.

Source

pub async fn on<A, F, FF>(&self, callback: F)
where A: Action, F: FnMut(A::Request, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<A::Response, E>> + Send,

Register a handler for CALLs the other side sends for action A. Replaces any previously registered handler for the same action.

Source

pub async fn send_notification<A: SendAction>( &self, payload: A::Payload, ) -> Result<(), ClientError<E>>

Send a SEND (OCPP-J 2.1 only) fire-and-forget message: writes the frame and returns as soon as the transport accepts it - no waiter, no timeout, since the spec forbids the receiver from ever replying to a SEND.

Source

pub async fn on_notification<A, F, FF>(&self, callback: F)
where A: SendAction, F: FnMut(A::Payload, Self) -> FF + Send + Sync + 'static, FF: Future<Output = ()> + Send,

Register a handler for SEND (OCPP-J 2.1 only) messages of action A. Unlike Client::on, callback returns nothing - the spec forbids replying to a SEND, so there’s no response to send back. Replaces any previously registered handler for the same action.

Source

pub async fn send_ping(&self) -> Result<(), ClientError<E>>

Source

pub async fn on_ping<F: FnMut(Self) -> FF + Send + Sync + 'static, FF: Future<Output = ()> + Send>( &self, callback: F, )

Source

pub async fn on_reconnect<F: FnMut(Self) -> FF + Send + Sync + 'static, FF: Future<Output = ()> + Send>( &self, callback: F, )

Register a callback that fires every time the background read loop redials successfully after a disconnect (see Client::from_transport_with_reconnect). Never fires for the initial connection, only for later reconnects - the initial Client is already handed back post-connect, so callers run their own post-connect setup (e.g. BootNotification) right after connect_1_6/from_transport_with_reconnect returns. This is the hook for redoing that setup (or resyncing any other session state) after a dropped-and-restored connection; this crate does not re-run BootNotification or replay any state on its own.

Source

pub async fn disconnect(&self) -> Result<(), ClientError<E>>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_authorize( &self, request: AuthorizeRequest, ) -> Result<AuthorizeResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_authorize<F, FF>(&self, callback: F)
where F: FnMut(AuthorizeRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<AuthorizeResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_boot_notification( &self, request: BootNotificationRequest, ) -> Result<BootNotificationResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_boot_notification<F, FF>(&self, callback: F)
where F: FnMut(BootNotificationRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<BootNotificationResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_clear_cache( &self, request: ClearCacheRequest, ) -> Result<ClearCacheResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_clear_cache<F, FF>(&self, callback: F)
where F: FnMut(ClearCacheRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ClearCacheResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_data_transfer( &self, request: DataTransferRequest, ) -> Result<DataTransferResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_data_transfer<F, FF>(&self, callback: F)
where F: FnMut(DataTransferRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<DataTransferResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_get_configuration( &self, request: GetConfigurationRequest, ) -> Result<GetConfigurationResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_get_configuration<F, FF>(&self, callback: F)
where F: FnMut(GetConfigurationRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetConfigurationResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_get_diagnostics( &self, request: GetDiagnosticsRequest, ) -> Result<GetDiagnosticsResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_get_diagnostics<F, FF>(&self, callback: F)
where F: FnMut(GetDiagnosticsRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetDiagnosticsResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_heartbeat( &self, request: HeartbeatRequest, ) -> Result<HeartbeatResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_heartbeat<F, FF>(&self, callback: F)
where F: FnMut(HeartbeatRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<HeartbeatResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_meter_values( &self, request: MeterValuesRequest, ) -> Result<MeterValuesResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_meter_values<F, FF>(&self, callback: F)
where F: FnMut(MeterValuesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<MeterValuesResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_reserve_now( &self, request: ReserveNowRequest, ) -> Result<ReserveNowResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_reserve_now<F, FF>(&self, callback: F)
where F: FnMut(ReserveNowRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ReserveNowResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_reset( &self, request: ResetRequest, ) -> Result<ResetResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_reset<F, FF>(&self, callback: F)
where F: FnMut(ResetRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ResetResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_send_local_list( &self, request: SendLocalListRequest, ) -> Result<SendLocalListResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_send_local_list<F, FF>(&self, callback: F)
where F: FnMut(SendLocalListRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SendLocalListResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_start_transaction( &self, request: StartTransactionRequest, ) -> Result<StartTransactionResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_start_transaction<F, FF>(&self, callback: F)
where F: FnMut(StartTransactionRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<StartTransactionResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_stop_transaction( &self, request: StopTransactionRequest, ) -> Result<StopTransactionResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_stop_transaction<F, FF>(&self, callback: F)
where F: FnMut(StopTransactionRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<StopTransactionResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_trigger_message( &self, request: TriggerMessageRequest, ) -> Result<TriggerMessageResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_trigger_message<F, FF>(&self, callback: F)
where F: FnMut(TriggerMessageRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<TriggerMessageResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_unlock_connector( &self, request: UnlockConnectorRequest, ) -> Result<UnlockConnectorResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_unlock_connector<F, FF>(&self, callback: F)
where F: FnMut(UnlockConnectorRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UnlockConnectorResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP1_6Error>

Source

pub async fn send_update_firmware( &self, request: UpdateFirmwareRequest, ) -> Result<UpdateFirmwareResponse, ClientError<OCPP1_6Error>>

Source

pub async fn on_update_firmware<F, FF>(&self, callback: F)
where F: FnMut(UpdateFirmwareRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UpdateFirmwareResponse, OCPP1_6Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_authorize( &self, request: AuthorizeRequest, ) -> Result<AuthorizeResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_authorize<F, FF>(&self, callback: F)
where F: FnMut(AuthorizeRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<AuthorizeResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_boot_notification( &self, request: BootNotificationRequest, ) -> Result<BootNotificationResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_boot_notification<F, FF>(&self, callback: F)
where F: FnMut(BootNotificationRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<BootNotificationResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_clear_cache( &self, request: ClearCacheRequest, ) -> Result<ClearCacheResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_clear_cache<F, FF>(&self, callback: F)
where F: FnMut(ClearCacheRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ClearCacheResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_cost_updated( &self, request: CostUpdatedRequest, ) -> Result<CostUpdatedResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_cost_updated<F, FF>(&self, callback: F)
where F: FnMut(CostUpdatedRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<CostUpdatedResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_data_transfer( &self, request: DataTransferRequest, ) -> Result<DataTransferResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_data_transfer<F, FF>(&self, callback: F)
where F: FnMut(DataTransferRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<DataTransferResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_get_base_report( &self, request: GetBaseReportRequest, ) -> Result<GetBaseReportResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_get_base_report<F, FF>(&self, callback: F)
where F: FnMut(GetBaseReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetBaseReportResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_get_log( &self, request: GetLogRequest, ) -> Result<GetLogResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_get_log<F, FF>(&self, callback: F)
where F: FnMut(GetLogRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetLogResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_get_report( &self, request: GetReportRequest, ) -> Result<GetReportResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_get_report<F, FF>(&self, callback: F)
where F: FnMut(GetReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetReportResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_get_variables( &self, request: GetVariablesRequest, ) -> Result<GetVariablesResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_get_variables<F, FF>(&self, callback: F)
where F: FnMut(GetVariablesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetVariablesResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_heartbeat( &self, request: HeartbeatRequest, ) -> Result<HeartbeatResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_heartbeat<F, FF>(&self, callback: F)
where F: FnMut(HeartbeatRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<HeartbeatResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_meter_values( &self, request: MeterValuesRequest, ) -> Result<MeterValuesResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_meter_values<F, FF>(&self, callback: F)
where F: FnMut(MeterValuesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<MeterValuesResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_notify_event( &self, request: NotifyEventRequest, ) -> Result<NotifyEventResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_notify_event<F, FF>(&self, callback: F)
where F: FnMut(NotifyEventRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifyEventResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_notify_report( &self, request: NotifyReportRequest, ) -> Result<NotifyReportResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_notify_report<F, FF>(&self, callback: F)
where F: FnMut(NotifyReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifyReportResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_publish_firmware( &self, request: PublishFirmwareRequest, ) -> Result<PublishFirmwareResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_publish_firmware<F, FF>(&self, callback: F)
where F: FnMut(PublishFirmwareRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<PublishFirmwareResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_reserve_now( &self, request: ReserveNowRequest, ) -> Result<ReserveNowResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_reserve_now<F, FF>(&self, callback: F)
where F: FnMut(ReserveNowRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ReserveNowResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_reset( &self, request: ResetRequest, ) -> Result<ResetResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_reset<F, FF>(&self, callback: F)
where F: FnMut(ResetRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ResetResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_send_local_list( &self, request: SendLocalListRequest, ) -> Result<SendLocalListResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_send_local_list<F, FF>(&self, callback: F)
where F: FnMut(SendLocalListRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SendLocalListResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_set_variables( &self, request: SetVariablesRequest, ) -> Result<SetVariablesResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_set_variables<F, FF>(&self, callback: F)
where F: FnMut(SetVariablesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SetVariablesResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_sign_certificate( &self, request: SignCertificateRequest, ) -> Result<SignCertificateResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_sign_certificate<F, FF>(&self, callback: F)
where F: FnMut(SignCertificateRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SignCertificateResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_transaction_event( &self, request: TransactionEventRequest, ) -> Result<TransactionEventResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_transaction_event<F, FF>(&self, callback: F)
where F: FnMut(TransactionEventRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<TransactionEventResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_trigger_message( &self, request: TriggerMessageRequest, ) -> Result<TriggerMessageResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_trigger_message<F, FF>(&self, callback: F)
where F: FnMut(TriggerMessageRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<TriggerMessageResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_unlock_connector( &self, request: UnlockConnectorRequest, ) -> Result<UnlockConnectorResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_unlock_connector<F, FF>(&self, callback: F)
where F: FnMut(UnlockConnectorRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UnlockConnectorResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_0_1Error>

Source§

impl Client<OCPP2_0_1Error>

Source

pub async fn send_update_firmware( &self, request: UpdateFirmwareRequest, ) -> Result<UpdateFirmwareResponse, ClientError<OCPP2_0_1Error>>

Source

pub async fn on_update_firmware<F, FF>(&self, callback: F)
where F: FnMut(UpdateFirmwareRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UpdateFirmwareResponse, OCPP2_0_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_afrr_signal( &self, request: AFRRSignalRequest, ) -> Result<AFRRSignalResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_afrr_signal<F, FF>(&self, callback: F)
where F: FnMut(AFRRSignalRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<AFRRSignalResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_authorize( &self, request: AuthorizeRequest, ) -> Result<AuthorizeResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_authorize<F, FF>(&self, callback: F)
where F: FnMut(AuthorizeRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<AuthorizeResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_battery_swap( &self, request: BatterySwapRequest, ) -> Result<BatterySwapResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_battery_swap<F, FF>(&self, callback: F)
where F: FnMut(BatterySwapRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<BatterySwapResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_boot_notification( &self, request: BootNotificationRequest, ) -> Result<BootNotificationResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_boot_notification<F, FF>(&self, callback: F)
where F: FnMut(BootNotificationRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<BootNotificationResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_clear_cache( &self, request: ClearCacheRequest, ) -> Result<ClearCacheResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_clear_cache<F, FF>(&self, callback: F)
where F: FnMut(ClearCacheRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ClearCacheResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_clear_der_control( &self, request: ClearDERControlRequest, ) -> Result<ClearDERControlResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_clear_der_control<F, FF>(&self, callback: F)
where F: FnMut(ClearDERControlRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ClearDERControlResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_clear_tariffs( &self, request: ClearTariffsRequest, ) -> Result<ClearTariffsResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_clear_tariffs<F, FF>(&self, callback: F)
where F: FnMut(ClearTariffsRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ClearTariffsResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_cost_updated( &self, request: CostUpdatedRequest, ) -> Result<CostUpdatedResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_cost_updated<F, FF>(&self, callback: F)
where F: FnMut(CostUpdatedRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<CostUpdatedResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_data_transfer( &self, request: DataTransferRequest, ) -> Result<DataTransferResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_data_transfer<F, FF>(&self, callback: F)
where F: FnMut(DataTransferRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<DataTransferResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_base_report( &self, request: GetBaseReportRequest, ) -> Result<GetBaseReportResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_base_report<F, FF>(&self, callback: F)
where F: FnMut(GetBaseReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetBaseReportResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_der_control( &self, request: GetDERControlRequest, ) -> Result<GetDERControlResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_der_control<F, FF>(&self, callback: F)
where F: FnMut(GetDERControlRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetDERControlResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_log( &self, request: GetLogRequest, ) -> Result<GetLogResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_log<F, FF>(&self, callback: F)
where F: FnMut(GetLogRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetLogResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_report( &self, request: GetReportRequest, ) -> Result<GetReportResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_report<F, FF>(&self, callback: F)
where F: FnMut(GetReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetReportResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_tariffs( &self, request: GetTariffsRequest, ) -> Result<GetTariffsResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_tariffs<F, FF>(&self, callback: F)
where F: FnMut(GetTariffsRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetTariffsResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_get_variables( &self, request: GetVariablesRequest, ) -> Result<GetVariablesResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_get_variables<F, FF>(&self, callback: F)
where F: FnMut(GetVariablesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<GetVariablesResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_heartbeat( &self, request: HeartbeatRequest, ) -> Result<HeartbeatResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_heartbeat<F, FF>(&self, callback: F)
where F: FnMut(HeartbeatRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<HeartbeatResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_meter_values( &self, request: MeterValuesRequest, ) -> Result<MeterValuesResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_meter_values<F, FF>(&self, callback: F)
where F: FnMut(MeterValuesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<MeterValuesResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_notify_der_alarm( &self, request: NotifyDERAlarmRequest, ) -> Result<NotifyDERAlarmResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_notify_der_alarm<F, FF>(&self, callback: F)
where F: FnMut(NotifyDERAlarmRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifyDERAlarmResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_notify_event( &self, request: NotifyEventRequest, ) -> Result<NotifyEventResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_notify_event<F, FF>(&self, callback: F)
where F: FnMut(NotifyEventRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifyEventResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_notify_report( &self, request: NotifyReportRequest, ) -> Result<NotifyReportResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_notify_report<F, FF>(&self, callback: F)
where F: FnMut(NotifyReportRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifyReportResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_notify_periodic_event_stream( &self, payload: NotifyPeriodicEventStream, ) -> Result<(), ClientError<OCPP2_1Error>>

Source

pub async fn on_notify_periodic_event_stream<F, FF>(&self, callback: F)
where F: FnMut(NotifyPeriodicEventStream, Self) -> FF + Send + Sync + 'static, FF: Future<Output = ()> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_notify_settlement( &self, request: NotifySettlementRequest, ) -> Result<NotifySettlementResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_notify_settlement<F, FF>(&self, callback: F)
where F: FnMut(NotifySettlementRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<NotifySettlementResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_publish_firmware( &self, request: PublishFirmwareRequest, ) -> Result<PublishFirmwareResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_publish_firmware<F, FF>(&self, callback: F)
where F: FnMut(PublishFirmwareRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<PublishFirmwareResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_report_der_control( &self, request: ReportDERControlRequest, ) -> Result<ReportDERControlResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_report_der_control<F, FF>(&self, callback: F)
where F: FnMut(ReportDERControlRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ReportDERControlResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_reserve_now( &self, request: ReserveNowRequest, ) -> Result<ReserveNowResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_reserve_now<F, FF>(&self, callback: F)
where F: FnMut(ReserveNowRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ReserveNowResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_reset( &self, request: ResetRequest, ) -> Result<ResetResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_reset<F, FF>(&self, callback: F)
where F: FnMut(ResetRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<ResetResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_send_local_list( &self, request: SendLocalListRequest, ) -> Result<SendLocalListResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_send_local_list<F, FF>(&self, callback: F)
where F: FnMut(SendLocalListRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SendLocalListResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_set_default_tariff( &self, request: SetDefaultTariffRequest, ) -> Result<SetDefaultTariffResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_set_default_tariff<F, FF>(&self, callback: F)
where F: FnMut(SetDefaultTariffRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SetDefaultTariffResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_set_der_control( &self, request: SetDERControlRequest, ) -> Result<SetDERControlResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_set_der_control<F, FF>(&self, callback: F)
where F: FnMut(SetDERControlRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SetDERControlResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_set_variables( &self, request: SetVariablesRequest, ) -> Result<SetVariablesResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_set_variables<F, FF>(&self, callback: F)
where F: FnMut(SetVariablesRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SetVariablesResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_sign_certificate( &self, request: SignCertificateRequest, ) -> Result<SignCertificateResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_sign_certificate<F, FF>(&self, callback: F)
where F: FnMut(SignCertificateRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<SignCertificateResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_transaction_event( &self, request: TransactionEventRequest, ) -> Result<TransactionEventResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_transaction_event<F, FF>(&self, callback: F)
where F: FnMut(TransactionEventRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<TransactionEventResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_trigger_message( &self, request: TriggerMessageRequest, ) -> Result<TriggerMessageResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_trigger_message<F, FF>(&self, callback: F)
where F: FnMut(TriggerMessageRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<TriggerMessageResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_unlock_connector( &self, request: UnlockConnectorRequest, ) -> Result<UnlockConnectorResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_unlock_connector<F, FF>(&self, callback: F)
where F: FnMut(UnlockConnectorRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UnlockConnectorResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Source

pub async fn send_update_firmware( &self, request: UpdateFirmwareRequest, ) -> Result<UpdateFirmwareResponse, ClientError<OCPP2_1Error>>

Source

pub async fn on_update_firmware<F, FF>(&self, callback: F)
where F: FnMut(UpdateFirmwareRequest, Self) -> FF + Send + Sync + 'static, FF: Future<Output = Result<UpdateFirmwareResponse, OCPP2_1Error>> + Send,

Source§

impl Client<OCPP2_1Error>

Source§

impl Client<OCPP2_1Error>

Trait Implementations§

Source§

impl<E: ProtocolError> Clone for Client<E>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<E> !RefUnwindSafe for Client<E>

§

impl<E> !UnwindSafe for Client<E>

§

impl<E> Freeze for Client<E>

§

impl<E> Send for Client<E>

§

impl<E> Sync for Client<E>

§

impl<E> Unpin for Client<E>

§

impl<E> UnsafeUnpin for Client<E>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more