mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-08-07 18:47:54 +00:00
porting: Remove redundant os_eventq_get_tmo API
Let's just add timeout parameter to os_eventq_get instead and have single API to get event from queue. The handing of timeout can be optimied by compiler if static inline is used to implement this.
This commit is contained in:
@@ -154,7 +154,7 @@ mesh_adv_thread(void *args)
|
||||
|
||||
while (1) {
|
||||
#if (MYNEWT_VAL(BLE_MESH_PROXY))
|
||||
ev = ble_npl_eventq_get_tmo(&adv_queue, 0);
|
||||
ev = ble_npl_eventq_get(&adv_queue, 0);
|
||||
while (!ev) {
|
||||
timeout = bt_mesh_proxy_adv_start();
|
||||
BT_DBG("Proxy Advertising up to %d ms", timeout);
|
||||
@@ -164,11 +164,11 @@ mesh_adv_thread(void *args)
|
||||
timeout = ble_npl_time_ms_to_ticks32(timeout);
|
||||
}
|
||||
|
||||
ev = ble_npl_eventq_get_tmo(&adv_queue, timeout);
|
||||
ev = ble_npl_eventq_get(&adv_queue, timeout);
|
||||
bt_mesh_proxy_adv_stop();
|
||||
}
|
||||
#else
|
||||
ev = ble_npl_eventq_get(&adv_queue);
|
||||
ev = ble_npl_eventq_get(&adv_queue, BLE_NPL_TIME_FOREVER);
|
||||
#endif
|
||||
|
||||
if (!ev || !ble_npl_event_get_arg(ev)) {
|
||||
|
||||
@@ -309,7 +309,7 @@ k_fifo_is_empty(struct ble_npl_eventq *q)
|
||||
|
||||
void * net_buf_get(struct ble_npl_eventq *fifo, s32_t t)
|
||||
{
|
||||
struct ble_npl_event *ev = ble_npl_eventq_get_tmo(fifo, 0);
|
||||
struct ble_npl_event *ev = ble_npl_eventq_get(fifo, 0);
|
||||
|
||||
if (ev) {
|
||||
return ble_npl_event_get_arg(ev);
|
||||
|
||||
@@ -68,10 +68,8 @@ struct ble_npl_eventq *ble_npl_eventq_dflt_get(void);
|
||||
|
||||
void ble_npl_eventq_init(struct ble_npl_eventq *evq);
|
||||
|
||||
struct ble_npl_event *ble_npl_eventq_get_tmo(struct ble_npl_eventq *evq,
|
||||
ble_npl_time_t tmo);
|
||||
|
||||
struct ble_npl_event *ble_npl_eventq_get(struct ble_npl_eventq *evq);
|
||||
struct ble_npl_event *ble_npl_eventq_get(struct ble_npl_eventq *evq,
|
||||
ble_npl_time_t tmo);
|
||||
|
||||
void ble_npl_eventq_put(struct ble_npl_eventq *evq, struct ble_npl_event *ev);
|
||||
|
||||
|
||||
@@ -100,15 +100,9 @@ ble_npl_eventq_init(struct ble_npl_eventq *evq)
|
||||
}
|
||||
|
||||
static inline struct ble_npl_event *
|
||||
ble_npl_eventq_get_tmo(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
ble_npl_eventq_get(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
{
|
||||
return npl_freertos_eventq_get_tmo(evq, tmo);
|
||||
}
|
||||
|
||||
static inline struct ble_npl_event *
|
||||
ble_npl_eventq_get(struct ble_npl_eventq *evq)
|
||||
{
|
||||
return npl_freertos_eventq_get(evq);
|
||||
return npl_freertos_eventq_get(evq, tmo);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -128,7 +122,7 @@ ble_npl_eventq_run(struct ble_npl_eventq *evq)
|
||||
{
|
||||
struct ble_npl_event *ev;
|
||||
|
||||
ev = ble_npl_eventq_get(evq);
|
||||
ev = ble_npl_eventq_get(evq, BLE_NPL_TIME_FOREVER);
|
||||
assert(ev->fn != NULL);
|
||||
|
||||
ev->fn(ev);
|
||||
|
||||
@@ -26,9 +26,8 @@ extern "C" {
|
||||
|
||||
struct ble_npl_eventq *npl_freertos_eventq_dflt_get(void);
|
||||
|
||||
struct ble_npl_event *npl_freertos_eventq_get_tmo(struct ble_npl_eventq *evq, ble_npl_time_t tmo);
|
||||
|
||||
struct ble_npl_event *npl_freertos_eventq_get(struct ble_npl_eventq *evq);
|
||||
struct ble_npl_event *npl_freertos_eventq_get(struct ble_npl_eventq *evq,
|
||||
ble_npl_time_t tmo);
|
||||
|
||||
void npl_freertos_eventq_put(struct ble_npl_eventq *evq,
|
||||
struct ble_npl_event *ev);
|
||||
|
||||
@@ -42,7 +42,7 @@ npl_freertos_eventq_dflt_get(void)
|
||||
}
|
||||
|
||||
struct ble_npl_event *
|
||||
npl_freertos_eventq_get_tmo(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
npl_freertos_eventq_get(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
{
|
||||
struct ble_npl_event *ev = NULL;
|
||||
BaseType_t ret;
|
||||
@@ -57,12 +57,6 @@ npl_freertos_eventq_get_tmo(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
return ev;
|
||||
}
|
||||
|
||||
struct ble_npl_event *
|
||||
npl_freertos_eventq_get(struct ble_npl_eventq *evq)
|
||||
{
|
||||
return npl_freertos_eventq_get_tmo(evq, portMAX_DELAY);
|
||||
}
|
||||
|
||||
void
|
||||
npl_freertos_eventq_put(struct ble_npl_eventq *evq, struct ble_npl_event *ev)
|
||||
{
|
||||
|
||||
@@ -83,15 +83,17 @@ ble_npl_eventq_init(struct ble_npl_eventq *evq)
|
||||
}
|
||||
|
||||
static inline struct ble_npl_event *
|
||||
ble_npl_eventq_get_tmo(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
ble_npl_eventq_get(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||
{
|
||||
return (struct ble_npl_event *)os_eventq_poll((struct os_eventq **)&evq, 1, tmo);
|
||||
}
|
||||
struct os_event *ev;
|
||||
|
||||
static inline struct ble_npl_event *
|
||||
ble_npl_eventq_get(struct ble_npl_eventq *evq)
|
||||
{
|
||||
return (struct ble_npl_event *)os_eventq_get(&evq->evq);
|
||||
if (tmo == BLE_NPL_TIME_FOREVER) {
|
||||
ev = os_eventq_get(&evq->evq);
|
||||
} else {
|
||||
ev = os_eventq_poll((struct os_eventq **)&evq, 1, tmo);
|
||||
}
|
||||
|
||||
return (struct ble_npl_event *)ev;
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
||||
Reference in New Issue
Block a user