@@ -420,34 +420,24 @@ fn get_addr_tuple(vm: &mut VirtualMachine, addr: SocketAddr) -> PyResult {
420420}
421421
422422pub fn mk_module ( ctx : & PyContext ) ->PyObjectRef {
423- let py_mod = ctx. new_module ( & "socket" . to_string ( ) , ctx. new_scope ( None ) ) ;
424-
425- ctx. set_attr ( & py_mod, "AF_INET" , ctx. new_int ( AddressFamily :: Inet as i32 ) ) ;
426-
427- ctx. set_attr (
428- & py_mod,
429- "SOCK_STREAM" ,
430- ctx. new_int ( SocketKind :: Stream as i32 ) ,
431- ) ;
432-
433- ctx. set_attr ( & py_mod, "SOCK_DGRAM" , ctx. new_int ( SocketKind :: Dgram as i32 ) ) ;
434-
435- let socket ={
436- let socket = ctx. new_class ( "socket" , ctx. object ( ) ) ;
437- ctx. set_attr ( & socket, "__new__" , ctx. new_rustfunc ( socket_new) ) ;
438- ctx. set_attr ( & socket, "connect" , ctx. new_rustfunc ( socket_connect) ) ;
439- ctx. set_attr ( & socket, "recv" , ctx. new_rustfunc ( socket_recv) ) ;
440- ctx. set_attr ( & socket, "send" , ctx. new_rustfunc ( socket_send) ) ;
441- ctx. set_attr ( & socket, "bind" , ctx. new_rustfunc ( socket_bind) ) ;
442- ctx. set_attr ( & socket, "accept" , ctx. new_rustfunc ( socket_accept) ) ;
443- ctx. set_attr ( & socket, "listen" , ctx. new_rustfunc ( socket_listen) ) ;
444- ctx. set_attr ( & socket, "close" , ctx. new_rustfunc ( socket_close) ) ;
445- ctx. set_attr ( & socket, "getsockname" , ctx. new_rustfunc ( socket_getsockname) ) ;
446- ctx. set_attr ( & socket, "sendto" , ctx. new_rustfunc ( socket_sendto) ) ;
447- ctx. set_attr ( & socket, "recvfrom" , ctx. new_rustfunc ( socket_recvfrom) ) ;
448- socket
449- } ;
450- ctx. set_attr ( & py_mod, "socket" , socket. clone ( ) ) ;
423+ let socket =py_class ! ( ctx, "socket" , ctx. object( ) , {
424+ "__new__" => ctx. new_rustfunc( socket_new) ,
425+ "connect" => ctx. new_rustfunc( socket_connect) ,
426+ "recv" => ctx. new_rustfunc( socket_recv) ,
427+ "send" => ctx. new_rustfunc( socket_send) ,
428+ "bind" => ctx. new_rustfunc( socket_bind) ,
429+ "accept" => ctx. new_rustfunc( socket_accept) ,
430+ "listen" => ctx. new_rustfunc( socket_listen) ,
431+ "close" => ctx. new_rustfunc( socket_close) ,
432+ "getsockname" => ctx. new_rustfunc( socket_getsockname) ,
433+ "sendto" => ctx. new_rustfunc( socket_sendto) ,
434+ "recvfrom" => ctx. new_rustfunc( socket_recvfrom) ,
435+ } ) ;
451436
452- py_mod
437+ py_module ! ( ctx, "socket" , {
438+ "AF_INET" => ctx. new_int( AddressFamily :: Inet as i32 ) ,
439+ "SOCK_STREAM" => ctx. new_int( SocketKind :: Stream as i32 ) ,
440+ "SOCK_DGRAM" => ctx. new_int( SocketKind :: Dgram as i32 ) ,
441+ "socket" => socket. clone( ) ,
442+ } )
453443}