1
This commit is contained in:
parent
b96f92c193
commit
b5fb7cb0e8
@ -78,14 +78,7 @@ impl UserApp {
|
|||||||
|
|
||||||
pub fn add_down_stream_pack(&self, socket_handle: u16, data: bytes::BytesMut) {
|
pub fn add_down_stream_pack(&self, socket_handle: u16, data: bytes::BytesMut) {
|
||||||
println!("add_down_stream_pack1 len:{0}", data.len());
|
println!("add_down_stream_pack1 len:{0}", data.len());
|
||||||
let node = Arc::new(Mutex::new(DownStreamPack{
|
let node = DownStreamPack::new(socket_handle, data);
|
||||||
holder: Default::default(),
|
|
||||||
socket_handle: socket_handle,
|
|
||||||
data: data,
|
|
||||||
entry: r9::ListHeadLock::< crate::app::user_app::DownStreamPack>::new_node(Default::default()),
|
|
||||||
}));
|
|
||||||
node.lock().unwrap().holder = Some(node.clone());
|
|
||||||
node.lock().unwrap().entry = r9::ListHeadLock::< crate::app::user_app::DownStreamPack>::new_node(Arc::downgrade(&node));
|
|
||||||
self.net_msg_queue.lock().unwrap().push(&node.lock().unwrap().entry);
|
self.net_msg_queue.lock().unwrap().push(&node.lock().unwrap().entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,26 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
use std::sync::Mutex;
|
||||||
|
use actix::dev::MessageResponse;
|
||||||
|
|
||||||
pub struct DownStreamPack {
|
pub struct DownStreamPack {
|
||||||
pub holder: Option<Arc::<std::sync::Mutex::<Self>>>,
|
holder: Option<Arc::<std::sync::Mutex::<Self>>>,
|
||||||
pub socket_handle: u16,
|
pub socket_handle: u16,
|
||||||
pub data: bytes::BytesMut,
|
pub data: bytes::BytesMut,
|
||||||
pub entry: Arc::<std::sync::Mutex::<r9::ListHeadLock<Self>>>,
|
pub entry: Arc::<std::sync::Mutex::<r9::ListHeadLock<Self>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl DownStreamPack {
|
||||||
|
|
||||||
|
pub fn new(socket_handle: u16, data: bytes::BytesMut) -> Arc<Mutex<Self>> {
|
||||||
|
let p = Arc::new(std::sync::Mutex::new(DownStreamPack{
|
||||||
|
holder: Default::default(),
|
||||||
|
socket_handle: socket_handle,
|
||||||
|
data: data,
|
||||||
|
entry: r9::ListHeadLock::<DownStreamPack>::new_node(Default::default()),
|
||||||
|
}));
|
||||||
|
p.lock().unwrap().holder = Some(p.clone());
|
||||||
|
p.lock().unwrap().entry = r9::ListHeadLock::<DownStreamPack>::new_node(Arc::downgrade(&p));
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -232,14 +232,7 @@ async fn upstream_enter(stream_arc: Arc<Mutex<TcpStream>>, down_pack_queue: Arc<
|
|||||||
}
|
}
|
||||||
let mut a_bytes = actix_web::web::Bytes::copy_from_slice(tmp_bytes.as_ref());
|
let mut a_bytes = actix_web::web::Bytes::copy_from_slice(tmp_bytes.as_ref());
|
||||||
{
|
{
|
||||||
let node = Arc::new(std::sync::Mutex::new(DownStreamPack{
|
let node = DownStreamPack::new(socket_handle, tmp_bytes);
|
||||||
holder: Default::default(),
|
|
||||||
socket_handle: socket_handle,
|
|
||||||
data: tmp_bytes,
|
|
||||||
entry: r9::ListHeadLock::<DownStreamPack>::new_node(Default::default()),
|
|
||||||
}));
|
|
||||||
node.lock().unwrap().holder = Some(node.clone());
|
|
||||||
node.lock().unwrap().entry = r9::ListHeadLock::<DownStreamPack>::new_node(Arc::downgrade(&node));
|
|
||||||
up_pack_queue.lock().unwrap().push(&node.lock().unwrap().entry);
|
up_pack_queue.lock().unwrap().push(&node.lock().unwrap().entry);
|
||||||
}
|
}
|
||||||
//a.do_send(msg);
|
//a.do_send(msg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user