diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-04-04 06:28:14 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-04-04 06:28:14 +0300 |
commit | 2908c3ca4168f963958e4a97e54800667ff34ccf (patch) | |
tree | ecb748d60d9b544ab12403b83bdfcf4b44af7aa2 /zephyr/modusocket.c | |
parent | 6e99a8c94e1c217f33e7116d60817ba1028d395e (diff) |
zephyr/modusocket: Factor out socket_new() function.
It will be reused e.g. for accept() implementation.
Diffstat (limited to 'zephyr/modusocket.c')
-rw-r--r-- | zephyr/modusocket.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/zephyr/modusocket.c b/zephyr/modusocket.c index 025cb0c92..155ed69b8 100644 --- a/zephyr/modusocket.c +++ b/zephyr/modusocket.c @@ -128,6 +128,15 @@ static void sock_received_cb(struct net_context *context, struct net_buf *net_bu k_fifo_put(&socket->recv_q, net_buf); } +socket_obj_t *socket_new(void) { + socket_obj_t *socket = m_new_obj_with_finaliser(socket_obj_t); + socket->base.type = (mp_obj_t)&socket_type; + k_fifo_init(&socket->recv_q); + socket->cur_buf = NULL; + socket->state = STATE_NEW; + return socket; +} + // Methods STATIC void socket_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { @@ -143,11 +152,7 @@ STATIC void socket_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kin STATIC mp_obj_t socket_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 4, false); - socket_obj_t *socket = m_new_obj_with_finaliser(socket_obj_t); - socket->base.type = type; - k_fifo_init(&socket->recv_q); - socket->cur_buf = NULL; - socket->state = STATE_NEW; + socket_obj_t *socket = socket_new(); int family = AF_INET; int socktype = SOCK_STREAM; |