fix kcp_stream
This commit is contained in:
parent
4e9bdcbc1f
commit
5beebf967d
@ -37,7 +37,12 @@ impl KcpStream {
|
|||||||
let mut endpoint = KcpEndpoint::new();
|
let mut endpoint = KcpEndpoint::new();
|
||||||
endpoint.run().await;
|
endpoint.run().await;
|
||||||
|
|
||||||
let (input, output) = (endpoint.input_sender(), endpoint.output_receiver().unwrap());
|
let (input, output) = (
|
||||||
|
endpoint.input_sender(),
|
||||||
|
endpoint
|
||||||
|
.output_receiver()
|
||||||
|
.ok_or_else(|| anyhow::anyhow!("Failed to get output receiver"))?,
|
||||||
|
);
|
||||||
let (stop_sender, stop_receiver) = oneshot::channel();
|
let (stop_sender, stop_receiver) = oneshot::channel();
|
||||||
if let Some(packet) = init_packet {
|
if let Some(packet) = init_packet {
|
||||||
if packet.len() >= std::mem::size_of::<KcpPacketHeader>() {
|
if packet.len() >= std::mem::size_of::<KcpPacketHeader>() {
|
||||||
@ -67,11 +72,16 @@ impl KcpStream {
|
|||||||
let mut endpoint = KcpEndpoint::new();
|
let mut endpoint = KcpEndpoint::new();
|
||||||
endpoint.run().await;
|
endpoint.run().await;
|
||||||
|
|
||||||
let (input, output) = (endpoint.input_sender(), endpoint.output_receiver().unwrap());
|
let (input, output) = (
|
||||||
|
endpoint.input_sender(),
|
||||||
|
endpoint
|
||||||
|
.output_receiver()
|
||||||
|
.ok_or_else(|| anyhow::anyhow!("Failed to get output receiver"))?,
|
||||||
|
);
|
||||||
let (stop_sender, stop_receiver) = oneshot::channel();
|
let (stop_sender, stop_receiver) = oneshot::channel();
|
||||||
Self::kcp_io(udp_socket.clone(), input, output, stop_receiver).await;
|
Self::kcp_io(udp_socket.clone(), input, output, stop_receiver).await;
|
||||||
|
|
||||||
let conn_id = endpoint.connect(timeout, 0, 0, Bytes::new()).await.unwrap();
|
let conn_id = endpoint.connect(timeout, 0, 0, Bytes::new()).await?;
|
||||||
if let Some(stream) = stream::KcpStream::new(&endpoint, conn_id) {
|
if let Some(stream) = stream::KcpStream::new(&endpoint, conn_id) {
|
||||||
Ok((
|
Ok((
|
||||||
Self {
|
Self {
|
||||||
@ -93,7 +103,7 @@ impl KcpStream {
|
|||||||
) {
|
) {
|
||||||
let udp = udp_socket.clone();
|
let udp = udp_socket.clone();
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
let mut buf = vec![0; 10240];
|
let mut buf = vec![0; 1500];
|
||||||
loop {
|
loop {
|
||||||
tokio::select! {
|
tokio::select! {
|
||||||
_ = &mut stop_receiver => {
|
_ = &mut stop_receiver => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user