@@ -507,6 +507,18 @@ STATIC const mp_obj_type_t socket_type = {
507
507
.locals_dict = (mp_obj_t )& socket_locals_dict ,
508
508
};
509
509
510
+ STATIC mp_obj_t nbuf_get_info (void ) {
511
+ struct net_buf_pool * rx , * tx , * rx_data , * tx_data ;
512
+ net_nbuf_get_info (& rx , & tx , & rx_data , & tx_data );
513
+ mp_obj_tuple_t * t = MP_OBJ_TO_PTR (mp_obj_new_tuple (4 , NULL ));
514
+ t -> items [0 ] = MP_OBJ_NEW_SMALL_INT (rx -> avail_count );
515
+ t -> items [1 ] = MP_OBJ_NEW_SMALL_INT (tx -> avail_count );
516
+ t -> items [2 ] = MP_OBJ_NEW_SMALL_INT (rx_data -> avail_count );
517
+ t -> items [3 ] = MP_OBJ_NEW_SMALL_INT (tx_data -> avail_count );
518
+ return MP_OBJ_FROM_PTR (t );
519
+ }
520
+ STATIC MP_DEFINE_CONST_FUN_OBJ_0 (nbuf_get_info_obj , nbuf_get_info );
521
+
510
522
STATIC const mp_map_elem_t mp_module_usocket_globals_table [] = {
511
523
{ MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR_usocket ) },
512
524
// objects
@@ -520,6 +532,8 @@ STATIC const mp_map_elem_t mp_module_usocket_globals_table[] = {
520
532
521
533
{ MP_OBJ_NEW_QSTR (MP_QSTR_SOL_SOCKET ), MP_OBJ_NEW_SMALL_INT (1 ) },
522
534
{ MP_OBJ_NEW_QSTR (MP_QSTR_SO_REUSEADDR ), MP_OBJ_NEW_SMALL_INT (2 ) },
535
+
536
+ { MP_OBJ_NEW_QSTR (MP_QSTR_nbuf_get_info ), (mp_obj_t )& nbuf_get_info_obj },
523
537
};
524
538
525
539
STATIC MP_DEFINE_CONST_DICT (mp_module_usocket_globals , mp_module_usocket_globals_table );
0 commit comments