ocpp_types/v21/
heartbeat_response.rs1#[derive(Debug, Clone, PartialEq, Eq)]
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6pub struct HeartbeatResponse<CustomDataType = crate::NoCustomData> {
7 #[cfg_attr(feature = "serde", serde(rename = "currentTime"))]
9 pub current_time: crate::OcppTimestamp,
10 #[cfg_attr(feature = "serde", serde(rename = "customData"))]
11 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
12 pub custom_data: Option<CustomDataType>,
13}
14impl<CustomDataType> crate::Action for HeartbeatResponse<CustomDataType> {
15 const ACTION: &'static str = "Heartbeat";
16}
17#[cfg(feature = "validate")]
18impl<CustomDataType> crate::validate::Validate for HeartbeatResponse<CustomDataType> {
19 fn validate(&self) -> Result<(), crate::validate::ValidationError> {
20 Ok(())
21 }
22}