Timings and repetitions for Server Service and Event Handlers

Eventgroup received

  • If a SubscribeEventgroup Entry or StopSubscribeEventgroup Entry are received within the Initial Wait Phase (or other phases) for an Event Handler of this Server Service Instance, it shall only be processed within the Service Discovery. Please refer to the according sequence diagrams and section 7.6.4.
    如果在此服务器服务实例的事件处理程序的Initial Wait Phase (或其他阶段)内收到了SubscribeEventgroup Entry或StopSubscribeEventgroup Entry,则只能在Service Discovery中处理它。

“SubscribeEventgroup” entry received:

  • Send a SubscribeEventgroupAck / Nack entry using Unicast considering the appropriate delay without changing the current counter value and without influencing the current running repetition timer/repetition phase or timer/main phase.
    考虑适当的延迟, 使用Unicast发送SubscribeEventgroupAck / Nack entry, 且不改变当前Counter值,也不影响当前运行的timer。
  • Call the BswM with the API BswM_Sd_EventHandlerCurrentState() with state SD_EVENT_HANDLER_REQUESTED only if the state for this EventHandler changed (i.e. has not been SD_EVENT_HANDLER_REQUESTED) .
    仅当此此EventHandler的状态改变(即尚不是SD_EVENT_HANDLER_REQUESTED)时,将状态SD_EVENT_HANDLER_REQUESTED赋值给API BswM_Sd_EventHandlerCurrentState() 并通知BswM。
  • Start the TTL timer according to the value received via the SubscribeEventgroup Entry.
    按照通过SubscribeEventgroup Entry获取的值启动TTL计时器。

“SubscribeEventgroup” entry received:

  • If the TTL of a received SubscribeEventgroup Entry expires, the following step shall be performed in the following order:
    如果收到的SubscribeEventgroup Entry的TTL到期,则按以下顺序执行以下步骤:
  • If this has been the last subscribed client, report “SD_EVENT_HANDLER_RELEASED” to the BswM by calling the API BswM_Sd_EventHandlerCurrentState() and update the state within the Service Discovery Module.
    如果这是最后一个订阅的客户端,则通过调用API BswM_Sd_EventHandlerCurrentState()将状态更新为 “SD_EVENT_HANDLER_RELEASED”,并报告给BswM报告。

StopSubscribeEventgroup Entry:

  • Stop the TTL timer for this client
    停止这个客户端的TTL计时器
  • Update State
    更新状态
  • If this has been the last subscribed client, report “SD_EVENT_HANDLER_RELEASED” to the BswM by calling the API BswM_Sd_EventHandlerCurrentState()
    如果这是最后一个订阅的客户端,则通过调用API BswM_Sd_EventHandlerCurrentState()更新状态为” SD_EVENT_HANDLER_RELEASED”并报告给BswM