kdeconnect_proto/packet/
ping.rs1use serde::{Deserialize, Serialize};
3
4#[cfg(not(feature = "std"))]
5use alloc::string::String;
6
7use crate::packet::{NetworkPacket, NetworkPacketBody};
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
13#[serde(rename_all = "camelCase")]
14pub struct PingPacket {
15 #[serde(skip_serializing_if = "Option::is_none")]
17 #[serde(default)]
18 pub message: Option<String>,
19}
20
21impl NetworkPacket {
22 pub fn ping<T: Into<String>>(message: T) -> Self {
24 NetworkPacket::new(NetworkPacketBody::Ping(PingPacket {
25 message: Some(message.into()),
26 }))
27 }
28
29 pub fn ping_empty_msg() -> Self {
31 NetworkPacket::new(NetworkPacketBody::Ping(PingPacket { message: None }))
32 }
33}