diff options
Diffstat (limited to 'src/vpp-api/vapi')
-rw-r--r-- | src/vpp-api/vapi/vapi.c | 8 | ||||
-rw-r--r-- | src/vpp-api/vapi/vapi.h | 11 | ||||
-rw-r--r-- | src/vpp-api/vapi/vapi_common.h | 7 |
3 files changed, 11 insertions, 15 deletions
diff --git a/src/vpp-api/vapi/vapi.c b/src/vpp-api/vapi/vapi.c index 7808bec8521..25571dcb54a 100644 --- a/src/vpp-api/vapi/vapi.c +++ b/src/vpp-api/vapi/vapi.c @@ -989,9 +989,13 @@ again: } vapi_error_e -vapi_wait (vapi_ctx_t ctx, vapi_wait_mode_e mode) +vapi_wait (vapi_ctx_t ctx) { - return VAPI_ENOTSUP; + svm_queue_lock (ctx->vl_input_queue); + svm_queue_wait (ctx->vl_input_queue); + svm_queue_unlock (ctx->vl_input_queue); + + return VAPI_OK; } static vapi_error_e diff --git a/src/vpp-api/vapi/vapi.h b/src/vpp-api/vapi/vapi.h index 46666293e4b..f4e060b0180 100644 --- a/src/vpp-api/vapi/vapi.h +++ b/src/vpp-api/vapi/vapi.h @@ -175,7 +175,7 @@ vapi_error_e vapi_send (vapi_ctx_t ctx, void *msg); * * @return VAPI_OK on success, other error code on error */ - vapi_error_e vapi_send2 (vapi_ctx_t ctx, void *msg1, void *msg2); +vapi_error_e vapi_send2 (vapi_ctx_t ctx, void *msg1, void *msg2); /** * @brief low-level api for reading messages from vpp @@ -191,18 +191,17 @@ vapi_error_e vapi_send (vapi_ctx_t ctx, void *msg); * * @return VAPI_OK on success, other error code on error */ - vapi_error_e vapi_recv (vapi_ctx_t ctx, void **msg, size_t * msg_size, - svm_q_conditional_wait_t cond, u32 time); +vapi_error_e vapi_recv (vapi_ctx_t ctx, void **msg, size_t *msg_size, + svm_q_conditional_wait_t cond, u32 time); /** - * @brief wait for connection to become readable or writable + * @brief wait for connection to become readable * * @param ctx opaque vapi context - * @param mode type of property to wait for - readability, writability or both * * @return VAPI_OK on success, other error code on error */ - vapi_error_e vapi_wait (vapi_ctx_t ctx, vapi_wait_mode_e mode); +vapi_error_e vapi_wait (vapi_ctx_t ctx); /** * @brief pick next message sent by vpp and call the appropriate callback diff --git a/src/vpp-api/vapi/vapi_common.h b/src/vpp-api/vapi/vapi_common.h index 7157f0a8e0d..bf438f7f08d 100644 --- a/src/vpp-api/vapi/vapi_common.h +++ b/src/vpp-api/vapi/vapi_common.h @@ -45,13 +45,6 @@ typedef enum VAPI_MODE_NONBLOCKING = 2, /**< operations never block */ } vapi_mode_e; -typedef enum -{ - VAPI_WAIT_FOR_READ, /**< wait until some message is readable */ - VAPI_WAIT_FOR_WRITE, /**< wait until a message can be written */ - VAPI_WAIT_FOR_READ_WRITE, /**< wait until a read or write can be done */ -} vapi_wait_mode_e; - typedef unsigned int vapi_msg_id_t; #define VAPI_INVALID_MSG_ID ((vapi_msg_id_t)(~0)) |