Skip to content

Commit 92b353c

Browse files
committed
callback.rs: Rewrite with XStream
1 parent 21c22cc commit 92b353c

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

examples/xbd-net/src/xbd/callback.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use mcu_if::{alloc::boxed::Box, c_types::c_void};
22
use super::gcoap::GcoapMemoState;
3-
use super::stream::{XbdStream, StreamData, stream_uninit, StreamExt};
3+
use super::stream::{XStream, XStreamData, StreamExt};
44

55
extern "C" {
66
fn free(ptr: *mut c_void);
@@ -15,10 +15,10 @@ enum ApiCallback {
1515
GcoapReq(Ptr32Send),
1616
}
1717

18-
static SD: StreamData<ApiCallback> = stream_uninit();
18+
static mut SD: XStreamData<ApiCallback, 64> = XStream::init();
1919

2020
fn add_api_callback(cb: ApiCallback) {
21-
XbdStream::get(&SD).unwrap().add(cb);
21+
XStream::get(static_borrow_mut!(SD)).add(cb);
2222
}
2323

2424
pub fn add_xbd_timeout_callback(arg_ptr: CVoidPtr) {
@@ -29,10 +29,9 @@ pub fn add_xbd_gcoap_req_callback(arg_ptr: CVoidPtr) {
2929
}
3030

3131
pub async fn process_api_stream() -> Result<(), i8> {
32-
let mut stream = XbdStream::new(&SD);
32+
let mut xs = XStream::get(static_borrow_mut!(SD));
3333

34-
while let Some(cb) = stream.next().await {
35-
//crate::println!("!! got cb");
34+
while let Some(cb) = xs.next().await {
3635
match cb {
3736
ApiCallback::Timeout(arg_ptr) => {
3837
let (cb_ptr, timeout_pp): (CVoidPtr, *mut CVoidPtr) = arg_from(arg_ptr);

0 commit comments

Comments
 (0)