diff --git a/lib/wtransport/stream.ex b/lib/wtransport/stream.ex index dcb4d14..b69f017 100644 --- a/lib/wtransport/stream.ex +++ b/lib/wtransport/stream.ex @@ -1,5 +1,6 @@ defmodule Wtransport.Stream do defstruct [ + :recv_stream_id, :stream_type, :connection, :request_tx, diff --git a/native/wtransport_native/src/lib.rs b/native/wtransport_native/src/lib.rs index 2622019..40f1de8 100644 --- a/native/wtransport_native/src/lib.rs +++ b/native/wtransport_native/src/lib.rs @@ -70,6 +70,7 @@ struct NifConnectionRequest { #[derive(NifStruct)] #[module = "Wtransport.StreamRequest"] struct NifStreamRequest { + recv_stream_id: u64, stream_type: Atom, request_tx: ResourceArc, write_all_tx: Option>, @@ -446,11 +447,13 @@ async fn handle_stream( atoms::stream_request(), match send_stream { Some(_) => NifStreamRequest { + recv_stream_id: recv_stream.id().into_u64(), stream_type: atoms::bi(), request_tx: ResourceArc::new(XRequestSender(request_tx)), write_all_tx: Some(ResourceArc::new(XDataSender(write_all_tx))), }, None => NifStreamRequest { + recv_stream_id: recv_stream.id().into_u64(), stream_type: atoms::uni(), request_tx: ResourceArc::new(XRequestSender(request_tx)), write_all_tx: None,