Skip to content

Commit b330989

Browse files
committed
sslsocket: Simplify handling the timeout value
We're just going to pass it down to the underlying socket, so don't parse it, multiply it, etc.
1 parent 40cc500 commit b330989

File tree

3 files changed

+8
-18
lines changed

3 files changed

+8
-18
lines changed

shared-bindings/ssl/SSLSocket.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -220,17 +220,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_send_obj, ssl_sslsocket_send);
220220
//| ...
221221
STATIC mp_obj_t ssl_sslsocket_settimeout(mp_obj_t self_in, mp_obj_t timeout_in) {
222222
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
223-
mp_uint_t timeout_ms;
224-
if (timeout_in == mp_const_none) {
225-
timeout_ms = -1;
226-
} else {
227-
#if MICROPY_PY_BUILTINS_FLOAT
228-
timeout_ms = 1000 * mp_obj_get_float(timeout_in);
229-
#else
230-
timeout_ms = 1000 * mp_obj_get_int(timeout_in);
231-
#endif
232-
}
233-
common_hal_ssl_sslsocket_settimeout(self, timeout_ms);
223+
common_hal_ssl_sslsocket_settimeout(self, timeout_in);
234224
return mp_const_none;
235225
}
236226
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_settimeout_obj, ssl_sslsocket_settimeout);
@@ -245,9 +235,9 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_settimeout_obj, ssl_sslsocket_set
245235
STATIC mp_obj_t ssl_sslsocket_setblocking(mp_obj_t self_in, mp_obj_t blocking) {
246236
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
247237
if (mp_obj_is_true(blocking)) {
248-
common_hal_ssl_sslsocket_settimeout(self, -1);
238+
common_hal_ssl_sslsocket_settimeout(self, mp_const_none);
249239
} else {
250-
common_hal_ssl_sslsocket_settimeout(self, 0);
240+
common_hal_ssl_sslsocket_settimeout(self, MP_OBJ_NEW_SMALL_INT(0));
251241
}
252242
return mp_const_none;
253243
}

shared-bindings/ssl/SSLSocket.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ bool common_hal_ssl_sslsocket_get_connected(ssl_sslsocket_obj_t *self);
4343
bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t *self, int backlog);
4444
mp_uint_t common_hal_ssl_sslsocket_recv_into(ssl_sslsocket_obj_t *self, uint8_t *buf, uint32_t len);
4545
mp_uint_t common_hal_ssl_sslsocket_send(ssl_sslsocket_obj_t *self, const uint8_t *buf, uint32_t len);
46-
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, uint32_t timeout_ms);
46+
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, mp_obj_t timeout_obj);

shared-module/ssl/SSLSocket.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ static int ssl_socket_close(ssl_sslsocket_obj_t *self) {
154154
return call_method_errno(0, self->close_args);
155155
}
156156

157-
static int ssl_socket_settimeout(ssl_sslsocket_obj_t *self, mp_int_t timeout_ms) {
158-
self->settimeout_args[2] = mp_obj_new_float(timeout_ms * MICROPY_FLOAT_CONST(1e-3));
157+
static int ssl_socket_settimeout(ssl_sslsocket_obj_t *self, mp_obj_t timeout_obj) {
158+
self->settimeout_args[2] = timeout_obj;
159159
return call_method_errno(1, self->settimeout_args);
160160
}
161161

@@ -442,6 +442,6 @@ mp_obj_t common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t *self) {
442442
return mp_obj_new_tuple(2, tuple_contents);
443443
}
444444

445-
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, uint32_t timeout_ms) {
446-
ssl_socket_settimeout(self, timeout_ms);
445+
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, mp_obj_t timeout_obj) {
446+
ssl_socket_settimeout(self, timeout_obj);
447447
}

0 commit comments

Comments
 (0)