@@ -244,6 +244,16 @@ STATIC mp_obj_t socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
244244}
245245STATIC MP_DEFINE_CONST_FUN_OBJ_2 (socket_connect_obj , socket_connect );
246246
247+ STATIC mp_obj_t socket_listen (mp_obj_t self_in , mp_obj_t backlog_in ) {
248+ socket_obj_t * socket = self_in ;
249+ socket_check_closed (socket );
250+
251+ mp_int_t backlog = mp_obj_get_int (backlog_in );
252+ RAISE_ERRNO (net_context_listen (socket -> ctx , backlog ));
253+ return mp_const_none ;
254+ }
255+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (socket_listen_obj , socket_listen );
256+
247257STATIC mp_obj_t socket_send (mp_obj_t self_in , mp_obj_t buf_in ) {
248258 socket_obj_t * socket = self_in ;
249259 socket_check_closed (socket );
@@ -368,6 +378,7 @@ STATIC const mp_map_elem_t socket_locals_dict_table[] = {
368378 { MP_OBJ_NEW_QSTR (MP_QSTR_close ), (mp_obj_t )& socket_close_obj },
369379 { MP_OBJ_NEW_QSTR (MP_QSTR_bind ), (mp_obj_t )& socket_bind_obj },
370380 { MP_OBJ_NEW_QSTR (MP_QSTR_connect ), (mp_obj_t )& socket_connect_obj },
381+ { MP_OBJ_NEW_QSTR (MP_QSTR_listen ), (mp_obj_t )& socket_listen_obj },
371382 { MP_OBJ_NEW_QSTR (MP_QSTR_send ), (mp_obj_t )& socket_send_obj },
372383 { MP_OBJ_NEW_QSTR (MP_QSTR_recv ), (mp_obj_t )& socket_recv_obj },
373384};
0 commit comments