From 5502a08830020b981f767fc539a8921f4fbfc3d1 Mon Sep 17 00:00:00 2001 From: Tobias Jahnke Date: Wed, 20 Dec 2017 17:29:35 +0100 Subject: agl-service-unicens: Rx message event Bug-AGL: SPEC-1177 Implements /subscriberx function. Control Rx messages will be notified to subscribers. If no subscriber is assigned, then Rx messages are discarded. This avoids Rx stuck issues after receiving multiple messages. Change-Id: Idb71569b8ff6f651833d7d01c37a3eea866daf1d Signed-off-by: Tobias Jahnke --- ucs2-afb/ucs_apidef.h | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'ucs2-afb/ucs_apidef.h') diff --git a/ucs2-afb/ucs_apidef.h b/ucs2-afb/ucs_apidef.h index d3dfd3c..2323599 100644 --- a/ucs2-afb/ucs_apidef.h +++ b/ucs2-afb/ucs_apidef.h @@ -34,24 +34,27 @@ static const char _afb_description_v2_UNICENS[] = "mponents/x-permissions/config\"},\"parameters\":[{\"in\":\"query\",\"nam" "e\":\"filename\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"" "responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/sub" - "scribe\":{\"description\":\"Subscribe to UNICENS Events.\",\"get\":{\"x-" + "scribe\":{\"description\":\"Subscribe to network events.\",\"get\":{\"x-" "permissions\":{\"$ref\":\"#/components/x-permissions/monitor\"},\"respon" - "ses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/writei2c\"" - ":{\"description\":\"Writes I2C command to remote node.\",\"get\":{\"x-pe" - "rmissions\":{\"$ref\":\"#/components/x-permissions/monitor\"},\"paramete" - "rs\":[{\"in\":\"query\",\"name\":\"node\",\"required\":true,\"schema\":{" - "\"type\":\"integer\",\"format\":\"int32\"}},{\"in\":\"query\",\"name\":\"" - "data\",\"required\":true,\"schema\":{\"type\":\"array\",\"format\":\"int" - "32\"},\"style\":\"simple\"}],\"responses\":{\"200\":{\"$ref\":\"#/compon" - "ents/responses/200\"}}}},\"/sendmessage\":{\"description\":\"Transmits a" - " control message to a node.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/c" - "omponents/x-permissions/monitor\"},\"parameters\":[{\"in\":\"query\",\"n" - "ame\":\"node\",\"required\":true,\"schema\":{\"type\":\"integer\",\"form" - "at\":\"int32\"}},{\"in\":\"query\",\"name\":\"msgid\",\"required\":true," - "\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}},{\"in\":\"query\"" - ",\"name\":\"data\",\"required\":true,\"schema\":{\"type\":\"array\",\"fo" - "rmat\":\"int32\"},\"style\":\"simple\"}],\"responses\":{\"200\":{\"$ref\"" - ":\"#/components/responses/200\"}}}}}}" + "ses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/subscribe" + "rx\":{\"description\":\"Subscribe to Rx control message events.\",\"get\"" + ":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/monitor\"},\"" + "responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/wri" + "tei2c\":{\"description\":\"Writes I2C command to remote node.\",\"get\":" + "{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/monitor\"},\"p" + "arameters\":[{\"in\":\"query\",\"name\":\"node\",\"required\":true,\"sch" + "ema\":{\"type\":\"integer\",\"format\":\"int32\"}},{\"in\":\"query\",\"n" + "ame\":\"data\",\"required\":true,\"schema\":{\"type\":\"array\",\"format" + "\":\"int32\"},\"style\":\"simple\"}],\"responses\":{\"200\":{\"$ref\":\"" + "#/components/responses/200\"}}}},\"/sendmessage\":{\"description\":\"Tra" + "nsmits a control message to a node.\",\"get\":{\"x-permissions\":{\"$ref" + "\":\"#/components/x-permissions/monitor\"},\"parameters\":[{\"in\":\"que" + "ry\",\"name\":\"node\",\"required\":true,\"schema\":{\"type\":\"integer\"" + ",\"format\":\"int32\"}},{\"in\":\"query\",\"name\":\"msgid\",\"required\"" + ":true,\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}},{\"in\":\"" + "query\",\"name\":\"data\",\"required\":true,\"schema\":{\"type\":\"array" + "\",\"format\":\"int32\"},\"style\":\"simple\"}],\"responses\":{\"200\":{" + "\"$ref\":\"#/components/responses/200\"}}}}}}" ; static const struct afb_auth _afb_auths_v2_UNICENS[] = { @@ -62,6 +65,7 @@ static const struct afb_auth _afb_auths_v2_UNICENS[] = { void ucs2_listconfig(struct afb_req req); void ucs2_initialise(struct afb_req req); void ucs2_subscribe(struct afb_req req); + void ucs2_subscriberx(struct afb_req req); void ucs2_writei2c(struct afb_req req); void ucs2_sendmessage(struct afb_req req); @@ -84,7 +88,14 @@ static const struct afb_verb_v2 _afb_verbs_v2_UNICENS[] = { .verb = "subscribe", .callback = ucs2_subscribe, .auth = &_afb_auths_v2_UNICENS[1], - .info = "Subscribe to UNICENS Events.", + .info = "Subscribe to network events.", + .session = AFB_SESSION_NONE_V2 + }, + { + .verb = "subscriberx", + .callback = ucs2_subscriberx, + .auth = &_afb_auths_v2_UNICENS[1], + .info = "Subscribe to Rx control message events.", .session = AFB_SESSION_NONE_V2 }, { -- cgit 1.2.3-korg