Commit c46e749c authored by xuwencheng's avatar xuwencheng

store

parent ef7994cd
use serde_repr::{Deserialize_repr, Serialize_repr};
#[cfg(feature = "socket")]
pub use socket::*;
#[cfg(feature = "socket")]
pub mod socket;
\ No newline at end of file
pub mod socket;
#[derive(Debug, Deserialize_repr, Serialize_repr, Eq, PartialEq, Clone, Hash)]
#[repr(u8)]
pub enum Status {
// 失败
Fail = 0,
// 成功
Success = 1,
}
use crate::{
event::{EventType, SocketEvent},
event::{EventType, SocketEvent, Status},
socket::protocol::Qos,
};
......@@ -11,6 +11,7 @@ pub trait BusinessEvent {
qos: Qos,
msg_id: i64,
msg_ty: i32,
status: Status,
extra: Option<impl AsRef<str>>,
) -> SocketEvent;
}
......@@ -21,6 +22,7 @@ impl BusinessEvent for SocketEvent {
qos: Qos,
msg_id: i64,
msg_ty: i32,
status: Status,
extra: Option<impl AsRef<str>>,
) -> SocketEvent {
......@@ -36,7 +38,7 @@ impl BusinessEvent for SocketEvent {
key,
msg_id: Some(msg_id),
msg_ty: Some(msg_ty),
status: 1,
status: status as i32,
desc: qos.desc(),
extra: extra.map(|s| s.as_ref().to_string()),
}
......@@ -49,7 +51,7 @@ pub trait PublishEvent {
key: Option<String>,
msg_id: i64,
msg_ty: i32,
status: i32,
status: Status,
desc: impl AsRef<str>,
extra: Option<impl AsRef<str>>,
) -> Vec<SocketEvent>;
......@@ -68,11 +70,13 @@ impl PublishEvent for SocketEvent {
key: Option<String>,
msg_id: i64,
msg_ty: i32,
status: i32,
status: Status,
desc: impl AsRef<str>,
extra: Option<impl AsRef<str>>,
) -> Vec<SocketEvent> {
let extra = extra.map(|s| s.as_ref().to_string());
let status = status as i32;
let mut vec = Vec::new();
for info in infos {
let key = key.clone();
......@@ -85,7 +89,7 @@ impl PublishEvent for SocketEvent {
version: Some(info.version),
version_desc: info.version_desc.clone(),
event: "推送事件".to_string(),
event_ty: EventType::ConnectEvent as i32,
event_ty: EventType::PublishEvent as i32,
key: key,
msg_id: Some(msg_id),
msg_ty: Some(msg_ty),
......@@ -113,11 +117,11 @@ impl PublishEvent for SocketEvent {
version: Some(info.version),
version_desc: info.version_desc.clone(),
event: "推送事件".to_string(),
event_ty: EventType::ConnectEvent as i32,
event_ty: EventType::PublishEvent as i32,
key: None,
msg_id: Some(msg_id),
msg_ty: None,
status: 1,
status: Status::Success as i32,
desc: desc.as_ref().to_string(),
extra: extra.map(|s| s.as_ref().to_string()),
}
......@@ -127,7 +131,7 @@ impl PublishEvent for SocketEvent {
pub trait ConnectEvent {
fn connect(
token_info: &TokenInfo,
status: i32,
status: Status,
desc: impl AsRef<str>,
extra: Option<impl AsRef<str>>,
) -> SocketEvent;
......@@ -136,7 +140,7 @@ pub trait ConnectEvent {
impl ConnectEvent for SocketEvent {
fn connect(
info: &TokenInfo,
status: i32,
status: Status,
desc: impl AsRef<str>,
extra: Option<impl AsRef<str>>,
) -> SocketEvent {
......@@ -148,11 +152,11 @@ impl ConnectEvent for SocketEvent {
version: Some(info.version),
version_desc: info.version_desc.clone(),
event: "连接事件".to_string(),
event_ty: 1,
event_ty: EventType::ConnectEvent as i32,
key: None,
msg_id: None,
msg_ty: None,
status,
status: status as i32,
desc: desc.as_ref().to_string(),
extra: extra.map(|s| s.as_ref().to_string()),
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment