kopia lustrzana https://github.com/micropython/micropython
extmod/modnetwork: Add extended socket state.
rodzic
d889f672da
commit
e7429389a6
|
@ -85,9 +85,15 @@ typedef struct _mod_network_socket_obj_t {
|
||||||
uint8_t domain;
|
uint8_t domain;
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
int8_t fileno;
|
int8_t fileno;
|
||||||
|
uint8_t bound;
|
||||||
} u_param;
|
} u_param;
|
||||||
mp_uint_t u_state;
|
mp_uint_t u_state;
|
||||||
};
|
};
|
||||||
|
#if MICROPY_PY_USOCKET_EXTENDED_STATE
|
||||||
|
// Extended socket state for NICs/ports that need it.
|
||||||
|
int32_t timeout;
|
||||||
|
void *state;
|
||||||
|
#endif
|
||||||
} mod_network_socket_obj_t;
|
} mod_network_socket_obj_t;
|
||||||
|
|
||||||
extern const mod_network_nic_type_t mod_network_nic_type_wiznet5k;
|
extern const mod_network_nic_type_t mod_network_nic_type_wiznet5k;
|
||||||
|
|
|
@ -54,6 +54,7 @@ STATIC mp_obj_t socket_make_new(const mp_obj_type_t *type, size_t n_args, size_t
|
||||||
s->u_param.domain = MOD_NETWORK_AF_INET;
|
s->u_param.domain = MOD_NETWORK_AF_INET;
|
||||||
s->u_param.type = MOD_NETWORK_SOCK_STREAM;
|
s->u_param.type = MOD_NETWORK_SOCK_STREAM;
|
||||||
s->u_param.fileno = -1;
|
s->u_param.fileno = -1;
|
||||||
|
s->u_param.bound = false;
|
||||||
if (n_args >= 1) {
|
if (n_args >= 1) {
|
||||||
s->u_param.domain = mp_obj_get_int(args[0]);
|
s->u_param.domain = mp_obj_get_int(args[0]);
|
||||||
if (n_args >= 2) {
|
if (n_args >= 2) {
|
||||||
|
@ -64,6 +65,11 @@ STATIC mp_obj_t socket_make_new(const mp_obj_type_t *type, size_t n_args, size_t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if MICROPY_PY_USOCKET_EXTENDED_STATE
|
||||||
|
s->timeout = 0;
|
||||||
|
s->state = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
return MP_OBJ_FROM_PTR(s);
|
return MP_OBJ_FROM_PTR(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue