
- When the Repetition Phase is entered, the Service Discovery Module shall start the timer SdClientTimerInitialFindRepetitionsBaseDelay ?()
當進入Repetition階段后,服務發現模塊應啟動計時器SdClientTimerInitialFindRepetitionsBaseDelay - When the timer SdClientTimerInitialFindRepetitionsBaseDelay expires within the Repetition Phase, a FindOffer Message shall be sent. ?()
當計時器SdClientTimerInitialFindRepetitionsBaseDelay在重復階段到期時,應發送FindOffer消息。 - In the Repetition Phase up to SdClientTimerInitialFindRepetitionsMax FindServer entries shall be sent with doubling intervals (BaseDelay, first FindService Entry, 2x BaseDelay, second FindService Entry, 4x BaseDelay, third FindService Entry, …).
在重復階段,直到SdClientTimerInitialFindRepetitionsMax FindServer條目應以雙倍間隔發送(BaseDelay,第一個FindService條目,2x BaseDelay,第二個FindService條目,4x BaseDelay,第三個FindService條目,……)。
- Note: Example config and resulting behavior (no OfferService received during example):
SdClientTimerInitialFindRepetitionBaseDelay=30
SdClientTimerInitialFindRepetitionMax=3
[Initial Wait Phase starts]
Wait Initial Wait Delay based on Configured Min and Max
Send entry.
[Initial Wait Phase ends]
[Repetition Phase starts]
Wait 30ms (=30ms * 20).
Send entry.
Wait 60ms (=30ms * 21).
Send entry.
Wait 120ms (=30ms * 22).
Send entry.
[Repetition Phase ends]

- If the Service Discovery Module receives an OfferService Entry while the current state SD_CLIENT_SERVICE_REQUESTED is for this Client Service Instance, the following step(s) shall be performed in the following order:
如果服務發現模塊收到OfferService條目,而該服務實例的當前狀態是SD_CLIENT_SERVICE_REQUESTED,則應按以下順序執行以下步驟:- Cancel the repetition timer.
取消重復計時器。 - If received TTL is not equal to the max value, set the TTL timer for this entry to the received TTL value.
如果收到的TTL不等于最大值,則將該條目的TTL定時器設置為接收的TTL值。 - Open TCP connection if SdClientServiceTcpRef is configured and was not opened before.
如果配置了SdClientServiceTcpRef并且之前未打開,則打開TCP連接。 - Leave the Repetition Phase immediately and enter the Main Phase.
立即離開Repetition階段并進入Main階段。
- Cancel the repetition timer.

- After sending the maximum repetitions (defined by SdClientTimerInitialFindRepetitionsMax) of FindService entries, the Repetition Phase shall be left and the Main Phase shall be entered.
在發送FindService條目的最大重復次數(由SdClientTimerInitialFindRepetitionsMax定義)后,應離開Repetition階段并輸入Main階段。 - If Sd_ClientServiceSetState()is called with state SD_CLIENT_SERVICE_RELEASED while being in Repetition Phase, this phase shall be left and the service instance shall enter Down Phase.
如果在處于Repetition階段時使用狀態SD_CLIENT_SERVICE_RELEASED調用Sd_ClientServiceSetState(),則應離開此階段,并且服務實例應進入Down Phase。 - If Sd_LocalIpAddrAssignmentChg() is called with a state other than “TCPIP_IPADDR_STATE_ASSIGNED” while being in Repetition Phase the Down Phase shall be entered.
如果在處于Repetition階段時使用“TCPIP_IPADDR_STATE_ASSIGNED”以外的狀態調用Sd_LocalIpAddrAssignmentChg(),則應輸入Down Phase。 - If the TCP/IP connection has been lost (Socket connection is other than SOAD_SOCON_ONLINE), the Service Discovery Module shall leave the Repetition Phase, enter the Wait Phase, and stop the TTL timers of the associated Client Service Instances and EventGroups.
如果TCP / IP連接丟失(套接字連接不是SOAD_SOCON_ONLINE),服務發現模塊應離開Repetition階段,進入Wait階段,并停止相關客戶端服務實例和事件組的TTL定時器。
