Sd

文档信息 Document Information

历史版本 Version History

日期(Date)

作者(Author)

版本(Version)

状态(Status)

说明(Description)

2025/3/5

Zhijia.Zou

V0.1

发布(Release)

首次发布(First release)

2025/04/04

Zhijia.Zou

V1.0

发布(Release)

正式发布(Official release)

参考文档 References

编号(Number)

分类(Classification)

标题(Title)

版本(Version)

1

AutoSar

AUTOSAR_CP_SWS_ServiceDiscovery.pdf

R23-11

2

AutoSar

AUTOSAR_CP_SWS_SocketAdaptor.pdf

R23-11

3

AutoSar

AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf

R23-11

4

AutoSar

AUTOSAR_PRS_SOMEIPProtocol.pdf

R23-11

术语与简写 Terms and Abbreviations

简写 Abbreviations

缩写词(Abbreviation)

英文全称(Full English name )

中文解释(Chinese explanation)

BswM

Basis software manager

基础软件管理模块

ECU

Electronic Control Unit

电子控制单元

DEM

Diagnostic Event Manager

诊断事件管理器

DET

Default Error Tracer

默认错误追踪器

SD

Service Discovery

服务发现

Sd

Service Discovery Module in AUTOSARAUTOSAR

架构中的服务发现模块

SoAd

Socket Adaptor

套接字适配器

SOME/IP

Scalable service-Oriented MiddlwarE over IP

基于IP的可扩展服务导向中间件

SOME/IP-SD

SOME/IP Service Discovery

SOME/IP 服务发现

术语 Terms

术语(Terms)

描述(Description)

Service

提供接口的功能实体。(The functional entity that provides interfaces.)

Service Instance

服务的一个实例。(One service instance.)

Offer

提供服务实例的消息条目。(Message entries that provide service instances.)

Stop Offer

停止提供服务实例的消息。(Message of stopping providing service instances.)

Find

用于查找服务实例的消息条目。(Message entries used for searching service instances.)

Event

由实现服务实例的电子控制单元(ECU)发送给使用该服务实例的电子控制单元(ECU)的消息。(The message sent by the electronic control unit (ECU) for realizing the service instance to the electronic control unit (ECU) using the service instance.)

Eventgroup

一个逻辑组合,包含一个或多个事件。事件组是服务的一部分。(One logical combination that contains one or more events.) Eventgroup is part of the service.

Server Service

提供服务。(Provide services.)

Client Service

使用服务。(Services used.)

Server

提供服务器服务的电子控制单元(ECU)。(Electronic control unit (ECU) for providing server service.)

Client

提供客户端服务的电子控制单元(ECU)。(Electronic control unit (ECU) for providing client service.)

Endpoint Option

端点选项用于发布单播地址和端口号的组合。(For publishing the combinations of unicast addresses and port numbers.)

Multicast Option

多播选项用于发布多播地址和端口号的组合。(For publishing the combinations of multicast addresses and port numbers.)

Unicast event

由托管 SdServerService 的 ECU 发送到单播端点的事件。该单播端点由特定的 SdClientService 提供,该 SdClientService 已在引用的 Endpoint Option 中订阅了此 SdServerService(参见已使用事件组的单播端点)。(The event sent by the ECU hosting SdServerService to the unicast endpoint.) This unicast endpoint is provided by the specific SdClientService, which has been subscribed in the referenced Endpoint Option (see unicast endpoints of the used event groups for details).

Multicast event

由托管 SdServerService 的 ECU 发送到多播端点的事件。多播端点可以由 SdServerService(参见事件处理器多播端点)和 SdClientService(参见已使用事件组多播端点)提供。(The event sent by the ECU hosting SdServerService to the multicast endpoint.) The multicast endpoints can be provided by SdServerService (see Event Processor Multicast Endpoint for details) and SdClientService (see Used Event Group Multicast Endpoint for details).

Eventhandler multicast endpoint

用于描述为 SdServerService 的每个事件处理器预先配置的多播地址和端口的术语。如果已达到订阅客户端具有不同端点信息的阈值,则服务器会将相应的事件发送到此预先配置的多播地址和端口。事件处理器多播端点通过引用 SubscribeEventgroupAck 条目的多播选项进行发布。(The term describing the multicast addresses and ports pre-configured for each event handler of SdServerService.) After reaching the threshold with different endpoint information as subscribed at the client, the server will send the corresponding event to this pre-configured multicast address and port. The event handler multicast endpoint makes publication by referencing the multicast option of the SubscribeEventgroupAck entry.

Consumed Eventgroup unicast endpoint

用于描述为 SdClientService 的每个已消费事件组预先配置的单播地址和端口的术语。使用此单播地址和端口进行订阅的 SdClientService,指示 SdServer 将相应的事件发送到哪个端点。已消费事件组的单播端点通过引用 SubscribeEventgroup 或 StopSubscribeEventgroup 条目的端点选项进行发布。(The term describing the unicast address and port pre-configured for each consumed event group of SdClientService.) The SdClientService subscribed by using this unicast address and port instructs SdServer to send the corresponding events to the specific endpoint. The unicast endpoint of the consumed event group is published by referencing the endpoint options of the SubscribeEventgroup or StopSubscribeEventgroup entries.

Consumed Eventgroup multicast endpoint

用于描述为 SdClientService 的每个已消费事件组预先配置的多播地址和端口的术语。使用此多播地址和端口进行订阅的 SdClientService,指示 SdServer 将相应的事件发送到哪个端点。已消费事件组的多播端点通过引用 SubscribeEventgroup 或 StopSubscribeEventgroup 条目的多播选项进行发布。(The term describing the multicast address and port pre-configured for each consumed event group of SdClientService.) The SdClientService subscribed by using this multicast address and port instructs SdServer to send the corresponding events to the specific endpoint. The multicast endpoint of the consumed event group is published by referencing the multicast options of the SubscribeEventgroup or StopSubscribeEventgroup entries.

Eventhandler multicast connection

用于描述 SdServerService 通过配置的事件处理器多播端点提供多播事件时,已建立的套接字连接的使用情况的术语。(The term describing the use of established socket connection when SdServerService provides multicast events via configured event handler multicast endpoint.)

Consumed Eventgroup unicast connection

用于描述 SdClientService 通过已消费事件组的单播端点接收事件时,已建立的套接字连接的使用情况的术语。(The term describing the use of established socket connection when SdClientService receives events via unicast endpoint of a consumed event group.)

Consumed Eventgroup multicast connection

用于描述 SdClientService 通过已消费事件组的多播端点接收事件时,已建立的套接字连接的使用情况的术语。(The term describing the use of established socket connection when SdClientService receives events via multicast endpoint of a consumed event group.)

简介 Introduction

Service Discovery 模块, 即服务发现模块, 主要用于:

The Service Discovery module is mainly used for:

(1)探测外部是否有可用的服务, 定位服务位置。

(1)Detecting whether services are available and locating the service position.

(2)向外部提供可用的服务。

(2)Providing available services both internally and externally.

(3)实现发布/订阅机制, 以控制 Event 报文的订阅和发布。

(3)Realizing publishing/subscription mechanism to control the subscription and publication of Event messages.

Sd 模块位于 SoAd 和 BswM 模块之间, 和上述两个模块协作完成服务发现的功能。

The Sd module is between the SoAd and BswM modules, and works together with the two modules to complete the function of service discovery.

外部依赖 (External dependence)

外部依赖 (External dependence)

功能描述 Functional Description

OfferService 功能 OfferService Functions

OfferService 功能用于向外部声明可以提供某种服务。当本地 ECU 作为服务器端提供某种服务时:

The OfferService function is used for declaring the specific service that can be provided externally. When the local ECU provides certain services as the server-side:

(1)该服务就绪时, Sd 模块会主动发送包含 OfferService Entry 的报文向其他ECU 表明当前有可用的某种服务。这种情况报文多播发送。

(1)When the service is ready, the Sd module will actively send a message containing the OfferService Entry to other ECUs in order to declare that certain service is available at present. Multicast transmission of messages is required under such case.

(2)当其它 ECU 发送 FindService Entry 主动寻找某种服务时, 本地 ECU 作为服务提供者, 向寻找服务的客户端发送 OfferService Entry, 表白可以提供某种服务。这种情况报文单播发送。

(2)When other ECU sends FindService Entry to actively search for certain service, the local ECU will send OfferService Entry to the client searching for the service as the service provider, in order to declare that certain service is available. Unicast transmission of messages is required under such case.

OfferService 功能实现 Realization of OfferService Functions

当服务可用或者不可用时, SWC 需要调用 BswM 的接口通知 BswM 某个服务可用/不可用, BswM 会调用 Sd_ServerServiceSetState(SdServerServiceHandleId,ServerServiceState)接口, 向 Sd 模块表明该服务的状态。其中 SdServerServiceHandleId 参数用于标识服务, ServerServiceState 用于标识服务状态。

When any service is available or unavailable, SWC should notify BsWM that the service is available/unavailable by calling the interface of BsWM. BsWM will call Sd_ServerServiceSetState(SdServerServiceHandleId,ServerServiceState) interface to declare the status of the service to the Sd module. In particular, SdServerServiceHandleId parameter is used for marking services while ServerServiceState for marking the service status.

Sd 模块会根据当前的状态向外发送 OfferService 或者 StopOfferService 报文。报文中会携带 SdServerServiceHandleId 代表的服务的信息(IP 地址, 端口号等)。其他节点可以利用这些信息定位到该服务, 以使用这些服务。Server 可以提供的服务在配置工具 SdInstanceSdServerService 中配置。

The Sd module will send OfferService or StopOfferService messages externally based on the current status. The message will carry the information about the service represented by SdServerServiceHandleId (IP address, port number, etc.). The information can be used by other nodes to locate and use the services. The services that the Server can provide can be configured in the configuration tool SdInstanceSdServerService.

FindService 功能 FindService Functions

FindService 功能实现 Realization of FindService Functions

当 SWC 作为客户端需要使用某种服务时, SWC 会需要调用 BswM 的接口通知 BswM 需要某个服务, BswM 调用 Sd_ClientServiceSetState(ClientServiceHandleId, ClientServiceState)接口, 向 Sd 模块表明需要某个服务。

When SWC requires certain service as the client, it will notify BsWM of the specific service by calling the interface of BswM. BsWM will call the Sd_ClientServiceSetState(ClientServiceHandleId, ClientServiceState) interface to declare to the Sd module about the specific service required.

Sd 模块会向外发送 FindService 报文。报文中会携带 SdServerServiceHandleId 代表的服务的具体信息(Service ID, 版本号等) 。其他节点理由这些信息判断自己是否可以提供这个服务, 可以提供时会发送 OfferService 通知寻找服务的客户端。

Sd module will send FindService message externally. The message will carry the specific information about the service represented by SdServerServiceHandleId (Service ID, version No., etc.). The information can also be used by other nodes to determine whether they can provide this service. If they can provide the service as well, these nodes will send an OfferService notification to the client looking for the service.

Client 需要的的服务(即需要寻找的服务) 在配置工具 SdInstance->SdClientService 中配置。

The services required by the Client (i.e. the service under search) are configured in the configuration tool SdInstance->SdClientService.

Eventgroup 功能 Eventgroup Functions

Eventgroup 功能实现 Realization of Eventgroup Functions

当 SWC(作为客户端) 需要订阅某个 Eventgroup 时, SWC 会调用 BswM 的接口通知 BswM, BswM 会调用 Sd_ConsumedEventGroupSetState(SdConsumedEventGroupHandleId, ConsumedEventGroupState)接口通知 Sd 模块。当 Sd 模块收到提供该 Eventgroup 的对应服务发送的 OfferService 报文时, Sd 模块会发送包含 SubscribeEventgroup Entry 的报文订阅 Eventgroup。

When SWC (as a client) needs to subscribe one Eventgroup, SWC will notify BsWM by calling the interface of BswM. BsWM will call Sd_ConsumedEventGroupSetState(SdConsumedEventGroupHandleId, ConsumedEventGroupState) Interface to notify Sd module. Upon receiving the OfferService message sent by the corresponding service providing such Eventgroup, Sd module will send a message containing the SubscribeEventgroup Entry to subscribe to the Eventgroup.

Client 需要订阅的 Eventgroup 在配置工具 SdInstance->SdClientService->SdConsumedEventGroup 中配置。

The Eventgroup that the Client needs to subscribe can be configured in the configuration tool SdInstance->SdClientService->SdConsumedEventGroup.

Eventgroup 管理功能 Eventgroup Management Functions

Eventgroup 管理功能简介 Introduction to Eventgroup Management Functions

当 Client 向 Server 订阅 Eventgroup 时, Server 需要管理订阅该 Eventgroup的客户端。

When Client subscribes Eventgroup from Server, the Server should manage the client that subscribes to that Eventgroup.

Eventgroup 管理功能的实现 Realization of Eventgroup Management Functions

当 收 到 Client 的 SubscribeEventgroup 报 文 后 , Server 需 要 和 将 SubscribeEventgroup 报文中的信息(Eventgroup ID, 版本号, Service ID 等) 和配置中保存的信息作比较, 如果一致的情况下, 并且该 Client 之前不在订阅列表中, 则将该 Client 添加到订阅列表中, 向该 Client 应答 SubscribeEventgroupAck 报文。如果该 Client 之前已经在订阅列表中, 则用 SubscribeEventgroup Entry 中的 TTL 时 间 更 新 订 阅 列 表 中 的 TTL 值 。信 息 不 一 致 的 情 况 下 , 应 答SubscribeEventgroupNAck 报文。

Upon receiving the SubscribeEventgroup message from the Client, the Server should compare the information in the SubscribeEventgroup message (Eventgroup ID, version No., Service ID, etc.) with that saved in the configuration. If the information of the above is consistent and the Client was not included in the subscription list, the Server will add the Client to the list and respond to the SubscribeEventgroupAck message to the Client. If the client has already been included in the subscription list, update the TTL value in the subscription list with the TTL time in the SubscribeEventgroup Entry. If however the information is inconsistent, respond to the SubscribeEventgroupNAck message.

当订阅时间到(SubscribeEventgroup 中携带的 TTL 计时时间到) 或者收到 Client 发送的 StopSubscribeEventgroup Entry, Server 需要将该 Client 从订阅列表中删除。

If the subscription time (TTL timing in the SubscribeEventgroup) expires or StopSubscribeEventgroup Entry is received from the client, the Server should remove the Client from the subscription list.

Server 提 供 的 Eventgroup ( 需 要 管 理 的 Eventgroup ) 在 配 置 工 具SdInstance->SdServerService->SdEventHandler 中配置。

The Eventgroup provided by the Server (i.e., the Eventgroup that needs managing) is configured in the configuration tool SdInstance->SdServerService->SdEventHandler.

RoutingPath 控制功能 RoutingPath Control Functions

RoutingPath 控制功能简介 Introduction to RoutingPath Control Functions

Sd 模块通过控制 SoAd 里面 SoAdRoutingGroup 的状态(Enable/Disable) ,从而达到控制 Event 的接收和发送的路径的通断, 控制 Event 的接收和发送。其中对 Event 发送路径的控制叫 Fan out 控制, 对 Event 接收路径的控制叫 Fan in控制。

The Sd module controls the on/off of the path for receiving and sending Events, as well as the receiving and sending of Event by controlling the status (Enable/Disable) of the SoAdRoutingGroup in SoAd. In particular, the control over the Event sending path is called Fan out control, and that over the Event receiving path is called Fan in control.

RoutingPath 控制功能的实现 Realization of RoutingPath Control Functions

Fan out 控制 Fan out Control

当 Client 订阅 Eventgroup 时, Server 根据 Client 发送的 SubscribeEventgroupEntry 中携带的信息在配置中找到与之匹配的 SdEventHandler, 根据 SdEventHandler 中的 SdEventHandlerTcp/SdEventHandlerUdp 找到对应的 SoAdRoutingGroup(取得 RoutingGroup ID) 。根据 SubscribeEventgroup Entry 中携带的 Endpointoption 信息以及配置中的 SdServerServiceUdpRef/SdServerServiceTcpRef 参数推导出该 Event 发送对应的 SocketConnection(取得 SoConId) , 然后调用 SoAd_EnableSpecificRouting()或 SoAd_DisableSpecificRouting(RoutingGroupId, SoConId), 来控制对应的 RoutingGroup。

When the Client subscribes Eventgroup, the Server will find the matching SdEventHandler in the configuration based on the information carried in the SubscribeEventgroupEntry sent by the Client, and further the corresponding SoAdRoutingGroup (obtains the RoutingGroup ID) based on the SdEventHandlerTcp/SdEventHandlerUdp in the SdEventHandler. According to the Endpointoption information in the SubscribeEventgroup Entry and the SdServerServiceUdpRef/SdServerServiceTcpRef parameter in the configuration, deduce the corresponding SocketConnection (obtains the SoConId) sent by the Event, and then call SoAd_EnableSpecificRouting() or SoAd_DisableSpecificRouting(RoutingGroupId, SoConId) to control the corresponding RoutingGroup.

Fan in 控制 Fan in Control

当 Client 向 Server 发送 SubscribeEventgroup Entry 向 Server 订阅某个 Eventgroup 时, Client 通过配置中的 SdConsumedEventGroupTcpActivationRef/SdConsumedEventGroupUdpActivationRef 参数找到对应的 SoAdRoutingGroup(取得 RoutingGroup ID) 。根据 OfferService Entry 中携带的 Endpoint option 信息以及配置中的 SdClientServiceUdpRef/SdClientServiceTcpRef 参数推导出该 Event 发送对应的 SocketConnection(取得 SoConId) , 然后调用 SoAd_EnableSpecificRouting()或 SoAd_DisableSpecificRouting(RoutingGroupId, SoConId), 来控制对应的 RoutingGroup。

When SubscribeEventgroup Entry sent from Client to Server subscribes one Eventgroup from Server, the Client finds the corresponding SoAdRoutingGroup (obtains the RoutingGroup ID) through the SdConsumedEventGroupTcpActivationRef/SdConsumedEventGroupUdpActivationRef parameters in the configuration. According to the Endpointoption information in the OfferService Entry and the SdClientServiceUdpRef/SdClientServiceTcpRef parameter in the configuration, deduce the corresponding SocketConnection (obtains the SoConId) sent by the Event, and then call SoAd_EnableSpecificRouting() or SoAd_DisableSpecificRouting(RoutingGroupId, SoConId) to control the corresponding RoutingGroup.

注意: 以上描述的所有功能能实现的前提是本端 ECU 的 IP 地址已指定, 即 Sd 模块的 Sd_LocalIpAddrAssignmentChg(SoConId, State)被调用过, 并且 State 为 TCPIP_IPADDR_STATE_ASSIGNED。

Note: The premise for realizing all the functions described above is that the IP address of the local ECU has been specified, that is, the Sd_LocalIpAddrAssignmentChg(SoConId, State) of the Sd module has been called, and the State is TCPIP_IPADDR_STATE_ASSIGNED.

偏差 Deviation

None

扩展 Extension

None

集成 Integration

文件列表 File List

文件结构图 File Structure Diagram

文件结构图 (File structure diagram)

文件结构图 (File Structure Diagram)

静态文件 Static Files

文件(File)

说明(Description)

Sd_Internal.h

订阅 Sd 模块使用的宏定义和数据类型(Macro definitions and data types used for subscribing Sd modules)

Sd_Types.h

定义Sd 模块的数据类型(Define the data type of Sd module)

Sd.h

声明 Sd 模块外部函数(Declare the external function of Sd module)

Sd.c

实现 Sd 模块功能(Realize the function of Sd module)

动态文件 Dynamic Files

文件(File)

说明(Description)

Sd_Cfg.h

定义 Sd 模块不支持变体的宏定义(Define the macro definition of variant not supported by Sd module)

Sd_PbCfg.h

定义 Sd 模块支持变体的宏定义和声明运行时变量(Define the macro definition of variant supported by Sd module and declare the variable during running)

Sd_PbCfg.c

定义 Sd 模块支持变体的配置(Define the configuration of variant supported by Sd module)

错误处理 Error Handling

开发错误 Development Errors

Error code

Value[hex]

Description

SD_E_UNINIT

0x01

SD has not been initialized

SD_E_PARAM_POINTER

0x02

Null pointer has been passed as an argument

SD_E_INV_MODE

0x03

Invalid mode request

SD_E_INV_ID

0x04

Invalid ID

SD_E_INIT_FAILED

0x05

Initialization failed

运行时错误 Runtime Errors

Error code

Value[hex]

Description

SD_E_COUNT_OF_RETRY_SUBSCRIPTION_EXCEEDED

0x06

Retry was not successful

接口描述 Interface Description

类型定义 Type Definitions

Type Name

Type

Description

Sd_ServerServiceSetStateType

enum Sd_ServerServiceSetStateTypeTag

This type defines the Server states that are reported to the SD using the expected API Sd_ServerServiceSetState.

Sd_ClientServiceSetStateType

enum Sd_ClientServiceSetStateTypeTag

This type defines the Client states that are reported to the BswM using the expected API Sd_ClientServiceSetState.

Sd_ConsumedEventGroupSetStateType

enum Sd_ConsumedEventGroupSetStateTypeTag

This type defines the subscription policy by consumed EventGroup for the Client Service.

Sd_ClientServiceCurrentStateType

enum Sd_ClientServiceCurrentStateTypeTag

This type defines the modes to indicate the current mode request of a Client Service.

Sd_ConsumedEventGroupCurrentStateType

enum Sd_ConsumedEventGroupCurrentStateTypeTag

This type defines the subscription policy by consumed EventGroup for the Client Service.

Sd_EventHandlerCurrentStateType

enum Sd_EventHandlerCurrentStateTypeTag

This type defines the subscription policy by EventHandler for the Server Service.

Sd_VersionDrivenFindBehavior

enum Sd_VersionDrivenFindBehaviorTag

This type defines the version-driven find behavior for the Service Discovery.

Sd_ServiceGroupIdType

uint16

Service Group ID.

Sd_ConfigOptionStringType

uint8 *

Type for a zero-terminated string of configuration options.

Sd_HandlerIdMapType

uint16

Type for a handler ID map.

SdCapabilityRecordMatchCalloutType

boolean*

SdCapabilityRecordMatchCallout type.

Sd_ClientTimerType

struct Sd_ClientTimerTypeTag

This container specifies all timers used by the Service Discovery module for Client Services.

Sd_CapabilityRecordType

struct Sd_CapabilityRecordTypeTag

Sd uses capability records to store arbitrary name/value pairs conveying additional information about the named service.

Sd_SoAdSoConGroupType

struct Sd_SoAdSoConGroupTypeTag

Reference SoAdSocketConnectionGroup.

Sd_SoAdRoutingGroupType

struct Sd_SoAdRoutingGroupTypeTag

Structure for soad routing group.

Sd_ConsumedEventGroupType

struct Sd_ConsumedEventGroupTypeTag

This container specifies all parameters for consumed event groups.

Sd_ConsumedMethodsType

struct Sd_ConsumedMethodsTypeTag

Container element for representing the data path for accessing the server methods.

SdBlocklistedMinorVersionsType

uint32

Type to define the blocklisted minor versions.

Sd_BlocklistedVersionType

struct Sd_SdBlocklistedVersionTag

Structure for SD blocklisted versions.

Sd_ClientServiceType

struct Sd_ClientServiceTypeTag

This container specifies all parameters used by Client services.

Sd_DemEventParameterType

struct Sd_DemEventParameterTypeTag

Dem Event Parameter.

Sd_InstanceDemEventParameterRefsType

struct Sd_InstanceDemEventParameterRefsTypeTag

Container for the references to DemEventParameter elements which shall be invoked using the API Dem_ReportErrorStatus API in case the corresponding error occurs.

Sd_InstanceMulticastRxPduType

struct Sd_InstanceMulticastRxPduTypeTag

This container specifies the received PDU.

Sd_InstanceTxPduType

struct Sd_InstanceTxPduTypeTag

This container specifies the transmitted PDU.

Sd_InstanceUnicastRxPduType

struct Sd_InstanceUnicastRxPduTypeTag

This container specifies the received PDU.

Sd_ServerTimerType

struct Sd_ServerTimerTypeTag

This container specifies all timers used by the Service Discovery module for Server Services.

Sd_SoAdSoConType

struct Sd_SoAdSoConTypeTag

Configuration of soad socket connection.

Sd_ServiceGroupType

struct Sd_ServiceGroupTypeTag

This container specifies all parameters used by Service Groups.

Sd_EventHandlerMulticastType

struct Sd_EventHandlerMulticastTypeTag

The subcontainer including the Routing Group for Activation of Events sent over Multicast.

Sd_EventHandlerTcpType

struct Sd_EventHandlerTcpTypeTag

The subcontainer including the Routing Groups for Activation and Trigger Transmit for Events sent over TCP.

Sd_EventHandlerUdpType

struct Sd_EventHandlerUdpTypeTag

The subcontainer including the Routing Groups for Activation and Trigger Transmit for Events sent over UDP.

Sd_EventHandlerType

struct Sd_EventHandlerTypeTag

Container Element for representing an EventGroup as part of the Service Instance.

Sd_ProvidedMethodsType

struct Sd_ProvidedMethodsTypeTag

Container element for representing the needed elements of the data path for the methods provided by the service.

Sd_ServerServiceType

struct Sd_ServerServiceTypeTag

This container specifies all parameters used by Server services.

Sd_InstanceType

struct Sd_InstanceTypeTag

This container represents an instance of the SD.

Sd_RxPduIdSoConIdMapType

struct Sd_RxPduIdSoConIdMapTypeTag

Mapping between RxPduId and SoConId.

Sd_ConfigType

struct Sd_ConfigTypeTag

This container contains the configuration parameters and sub containers of the AUTOSAR Service Discovery module.

Sd_ServerServiceSetStateTypeTag

enum

This type defines the Server states that are reported to the SD using the expected API Sd_ServerServiceSetState.

Sd_ClientServiceSetStateTypeTag

enum

This type defines the Client states that are reported to the BswM using the expected API Sd_ClientServiceSetState.

Sd_ConsumedEventGroupSetStateTypeTag

enum

This type defines the subscription policy by consumed EventGroup for the Client Service.

Sd_ClientServiceCurrentStateTypeTag

enum

This type defines the modes to indicate the current mode request of a Client Service.

Sd_ConsumedEventGroupCurrentStateTypeTag

enum

This type defines the subscription policy by consumed EventGroup for the Client Service.

Sd_EventHandlerCurrentStateTypeTag

enum

This type defines the subscription policy by EventHandler for the Server Service.

Sd_VersionDrivenFindBehaviorTag

enum

This type defines the version-driven find behavior for the Service Discovery.

Sd模块接口描述 Descriptions of Sd Module Interface

Sd_Init

void Sd_Init(const Sd_ConfigType *ConfigPtr)

Initializes the Service Discovery.

Sync/Async

TRUE

Reentrancy

Non Reentrant

Parameters

Dir

Name

Description

[in]

ConfigPtr

Pointer to a selected configuration structure.

Return type

void

Sd_GetVersionInfo

void Sd_GetVersionInfo(Std_VersionInfoType *versioninfo)

Returns the version information of this module.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[out]

versioninfo

Pointer to where to store the version information of this module.

Return type

void

Sd_ServerServiceSetState

Std_ReturnType Sd_ServerServiceSetState(uint16 SdServerServiceHandleId, Sd_ServerServiceSetStateType ServerServiceState)

This API function is used by the BswM to set the Server Service Instance state.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[in]

SdServerServiceHandleId

ID to identify the Server Service Instance.

[in]

ServerServiceState

The state the Server Service Instance shall be set to.

Return type

Std_ReturnType

Sd_ClientServiceSetState

Std_ReturnType Sd_ClientServiceSetState(uint16 ClientServiceHandleId, Sd_ClientServiceSetStateType ClientServiceState)

This API function is used by the BswM to set the Client Service Instance state.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[in]

ClientServiceHandleId

ID to identify the Client Service Instance.

[in]

ClientServiceState

The state the Client Service Instance shall be set to.

Return type

Std_ReturnType

Sd_ServiceGroupStart

void Sd_ServiceGroupStart(Sd_ServiceGroupIdType ServiceGroupId)

Starts a preconfigured SdServiceGroup.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[in]

ServiceGroupId

Id of SdServiceGroup to be started

Return type

void

Sd_ServiceGroupStop

void Sd_ServiceGroupStop(Sd_ServiceGroupIdType ServiceGroupId)

Stops a preconfigured SdServiceGroup.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[in]

ServiceGroupId

Id of SdServiceGroup to be stopped

Return type

void

Sd_ConsumedEventGroupSetState

Std_ReturnType Sd_ConsumedEventGroupSetState(uint16 SdConsumedEventGroupHandleId, Sd_ConsumedEventGroupSetStateType ConsumedEventGroupState)

This API function is used by the BswM to set the requested state of the EventGroupStatus.

Sync/Async

TRUE

Reentrancy

Reentrant

Parameters

Dir

Name

Description

[in]

SdConsumedEventGroupHandleId

ID to identify the Consumed Eventgroup.

[in]

ConsumedEventGroupState

The state the EventGroup shall be set to.

Return type

Std_ReturnType

Sd_LocalIpAddrAssignmentChg

void Sd_LocalIpAddrAssignmentChg(SoAd_SoConIdType SoConId, TcpIp_IpAddrStateType State)

This function gets called by the SoAd if an IP address assignment related to a socket connection changes (i.e. new address assigned or assigned address becomes invalid).

Sync/Async

TRUE

Reentrancy

Reentrant for different SoConIds.

Parameters

Dir

Name

Description

[in]

SoConId

socket connection index specifying the socket connection where the IP address assigment has changed.

[in]

State

state of IP address assignment.

Return type

void

Sd_SoConModeChg

void Sd_SoConModeChg(SoAd_SoConIdType SoConId, SoAd_SoConModeType Mode)

Notification about a SoAd socket connection state change, e.g. socket connection gets online.

Sync/Async

TRUE

Reentrancy

Reentrant for different SoConIds.

Parameters

Dir

Name

Description

[in]

SoConId

socket connection index specifying the socket connection where the IP address assigment has changed.

[in]

Mode

new mode.

Return type

void

Sd_RxIndication

void Sd_RxIndication(PduIdType RxPduId, const PduInfoType *PduInfoPtr)

Indication of a received I-PDU from a lower layer communication interface module.

Sync/Async

TRUE

Reentrancy

Reentrant for different SoConIds.

Parameters

Dir

Name

Description

[in]

RxPduId

ID of the received I-PDU.

[in]

PduInfoPtr

Contains the length (SduLength) of the received I-PDU and a pointer to a buffer (SduDataPtr) containing the I-PDU.

Return type

void

功能集成 Function Integration

创建SdInstance Create SdInstance

SdInstance

SdInstance

子容器SdInstanceMulticastRxPdu、SdInstanceTxPdu、SdInstanceUnicastRxPdu在创建SdInstance时会默认生成且不可删除。以下为具体功能:

The subcontainers SdInstanceMulticastRxPdu, SdInstanceTxPdu and SdInstanceUnicastRxPdu are generated by default when creating SdInstances and cannot be deleted. Their functions are as below:

(1)SdInstanceMulticastRxPdu:用于接收多播消息。

(1)SdInstanceMulticastRxPdu: Receives multicast messages.

(2)SdInstanceTxPdu:用于发送消息。

(2)SdInstanceTxPdu: Sends messages.

(3)SdInstanceUnicastRxPdu:用于接收单播消息。

(3)SdInstanceUnicastRxPdu: Receives unicast message.

SdInstance容器具有以下属性:

SdInstance container has the following attributes:

(4)SdInstanceHandleId:Sd实例的ID,该属性不可更改,在SdInstance容器创建时自动生成。

(4)SdInstanceHandleId: The ID of the Sd instance; the attribute is not changed and is automatically generated when the SdInstance container is created.

(5)SdInstanceHostName:Sd实例的HostName,该属性属性为可选属性,用于在服务发现过程中匹配能力集。该属性支持变体,即在不同变体中SdInstanceHostName可设置不同的字符串。

(5)SdInstanceHostName: The HostName of the Sd instance; the attribute is optional and used for matching capability sets during service discovery. This attribute supports variant, which means different strings can be set for SdInstanceHostName in different variants.

(6)SdInstanceLocalAdressCheckLength:用于描述应比较地址的多少位,以确定远程地址是否可接受使用。该属性支持变体,即在不同变体中SdInstanceLocalAdressCheckLength属性可设置不同的值。

(6)SdInstanceLocalAdressCheckLength: Describes the specific bits of the address that shall be compared, in order to determine if a remote address is acceptable and usable. This attribute supports variants, which means that the attribute value can be different in SdInstanceLocalAdressCheckLength of different variants.

(7)SdAddrFamily:描述远程地址的协议族,即IPv4或IPv6。

(7)SdAddrFamily: Describes the protocol family for remote addresses, i.e., IPv4 or IPv6.

SdInstance容器无容器多重性,在多变体工程中,不同变体应具有相同数量的SdInstance容器。

SdInstance container does not support container multiplicity. In multi-variant projects, the number of SdInstance containers for different variants should be the same.

对于使用不同 Socket 的 Sd 服务,应为其创建不同的Instance容器。应遵循以下步骤:

Different instance containers should be created for the Sd services using different sockets. The specific steps:

(8)设置SdAddrFamily属性。

(8)Set the attribute of SdAddrFamily.

(9)设置SdInstanceMulticastRxPdu、SdInstanceTxPdu、SdInstanceUnicastRxPdu子容器引用的Pdu。

(9)Set the Pdu referenced by the SdInstanceMulticastRxPdu, SdInstanceTxPdu and SdInstanceUnicastRxPdu sub-containers.

(10)设置SdInstanceHostname和SdInstanceLocalAdressCheckLength属性。(可选)

(10)Set the attribute of SdInstanceHostname and SdInstanceLocalAdressCheckLength. (Optional)

创建SdServerTimer Create SdServerTimer

SdInstance

SdInstance

SdServerTimer容器具有以下属性:

SdServerTimer container has the following attributes:

(1)SdServerTimerInitialOfferDelayMax:表示服务器实例初始化阶段最长的持续时间和服务器实例自启动后最长的延迟时间。

(1)SdServerTimerInitialOfferDelayMax: The longest duration of the server instance initialization phase and the longest delay time after the server instance self-start.

(2)SdServerTimerInitialOfferDelayMin:表示服务器实例初始化阶段最短的持续时间和服务器实例自启动后最短的延迟时间。

(2)SdServerTimerInitialOfferDelayMin: The shortest duration of the server instance initialization phase and the shortest delay time after the server instance self-start.

(3)SdServerTimerInitialOfferRepetitionBaseDelay:表示用于计算服务器实例重复阶段周期的时间基。

(3)SdServerTimerInitialOfferRepetitionBaseDelay: Time base used for calculating the repetition period of server instance.

(4)SdServerTimerInitialOfferRepetitionsMax:用于描述服务器实例重复阶段的最大循环次数。

(4)SdServerTimerInitialOfferRepetitionsMax: : Describes the maximum number of iterations of server instance in repetition period.

(5)SdServerTimerOfferCyclicDelay:用于计算服务器实例进入主节点后发送OfferService的时间间隔。

(5)SdServerTimerOfferCyclicDelay: Calculates the time interval for sending OfferService after the server instance enters the master node.

(6)SdServerTimerRequestResponseMaxDelay:通过多播接收的条目的最大允许响应延迟(以秒为单位)。

(6)SdServerTimerRequestResponseMaxDelay: The maximum allowable response delay for entries received through multicast (in second).

(7)SdServerTimerRequestResponseMinDelay:通过多播接收的条目的最小允许响应延迟(以秒为单位)。

(7)SdServerTimerRequestResponseMinDelay:The minimum allowable response delay for entries received through multicast (in second).

(8)SdServerTimerTTL:描述服务器实例提供服务和事件的生存时间(以秒为单位)。

(8)SdServerTimerTTL: Describes the lifetime of services and events provided by the server instance (by second).

SdServerTimer容器中数据均具有变体,即在不同变体下可配置不同的值。

The data in the SdServerTimer container has variants, which means that different values can be configured under different variants.

SdServerTimer容器不具有容器多重性,在多变体工程中,不同变体应具有相同数量的SdServerTimer容器。

The SdServerTimer container does not support container multiplicity. In a multi-variant project, the number of SdServerTimer containers should be the same in different variants.

SdServerTimer容器的配置参考以下步骤:

Refer to the following steps for the configuration of SdServerTimer container:

(1)设置SdServerTimerInitialOfferDelayMax和SdServerTimerInitialOfferDelayMin属性。不设置该属性或设置为0时认为服务器实例启动后直接进入重复阶段并立即发送第一条OfferService。

(1)Set the attribute of SdServerTimerInitialOfferDelayMax and SdServerTimerInitialOfferDelayMin. When this attribute is not set or is set to 0, the server instance will enter the repetition period directly after startup and send the first OfferService immediately.

(2)设置SdServerTimerInitialOfferRepetitionBaseDelay和SdServerTimerInitialOfferRepetitionsMax属性。不设置该属性或设置为0时服务器在进入重复阶段后立即进入主阶段。

(2)Set the attribute of SdServerTimerInitialOfferRepetitionBaseDelay and SdServerTimerInitialOfferRepetitionsMax. When this attribute is not set or is set to 0, the server will enter the main phase soon after entering the repetition period.

(3)设置SdServerTimerOfferCyclicDelay属性。不设置该属性或设置为0时,服务器在进入主阶段后不会周期发送OfferService。

(3)Set the attribute of SdServerTimerOfferCyclicDelay. When this attribute is not set or is set to 0, the server will not send OfferService periodically after entering the main stage.

(4)设置SdServerTimerRequestResponseMaxDelay和SdServerTimerRequestResponseMinDelay。设置为0时,在接收到需服务器实例应答的多播条目后,会立即发送应答报文。

(4)Set the attribute of SdServerTimerRequestResponseMaxDelay and SdServerTimerRequestResponseMinDelay. When the attribute is set to 0, the response message will be immediately sent upon receiving a multicast entry that requires response from the server instance.

(5)设置SdServerTimerTTL。该参数需大于0,设置为0xffffffff时,表示服务器实例的服务和事件生存时间无限制。

(5)Set SdServerTimerTTL. This parameter should be greater than 0. When it is set to 0xffffff, it means that the service and event lifetime of the server instance are unlimited.

创建SdClientTimer Create SdClientTimer

SdClientTimer

SdClientTimer

SdClientTimer容器具有以下属性:

SdClientTimer container has the following attributes:

(1)SdClientTimerInitialFindDelayMax:表示客户端实例初始化阶段最长的持续时间和客户端实例启动后发送第一帧FindService最长的延迟时间。

(1)SdClientTimerInitialFindDelayMax: The longest duration of the client instance initialization phase and the longest delay time for sending the first frame of FindService after starting the client instance.

(2)SdClientTimerInitialFindDelayMin:表示客户端实例初始化阶段最端的持续时间和客户端实例启动后发送第一帧FindService最长的延迟时间。

(2)SdClientTimerInitialFindDelayMin: The shortest duration of the client instance initialization phase and the longest delay time for sending the first frame of FindService after starting the client instance.

(3)SdClientTimerInitialFindRepetitionsBaseDelay:表示用于计算服务器实例重复阶段周期的时间基。

(3)SdClientTimerInitialFindRepetitionsBaseDelay: The time base used for calculating the repetition period of server instances.

(4)SdClientTimerInitialFindRepetitionsMax:表示客户端重复阶段最大的循环次数。

(4)SdClientTimerInitialFindRepetitionsMax: The maximum number of iterations for the client’s repetition period.

(5)SdClientTimerRequestResponseMaxDelay:通过多播接收的条目的最大允许响应延迟。

(5)SdClientTimerRequestResponseMaxDelay: The maximum allowable response delay for entries received through multicast.

(6)SdClientTimerRequestResponseMinDelay:通过多播接收的条目的最短允许响应延迟

(6)SdClientTimerRequestResponseMinDelay: The minimum allowable response delay for entries received through multicast.

(7)SdClientTimerTTL:Find和Subscribe的生存时间。

(7)SdClientTimerTTL: The lifetime of Find and Subscribe.

(8)SdSubscribeEventgroupRetryDelay:如果未收到 SubscribeEventGroupAck 或 SubscribeEventGroupNack,则重新触发对事件组的订阅的时间(以秒为单位)

(8)SdSubscribeEventgroupRetryDelay: If neither SubscribeEventGroupAck nor SubscribeEventGroupNack is received, the subscription time of event group will be triggered again (by second)

(9)SdSubscribeEventgroupRetryMax:重新触发对事件组的订阅的最大次数。

(9)SdSubscribeEventgroupRetryMax: The maximum times of re-triggering the subscriptions to event groups.

SdClientTimer容器中数据均具有变体,即在不同变体下可配置不同的值。

The data in the SdClientTimer container has variants, which means that different values can be configured under different variants.

SdClientTimer容器不具有容器多重性,在多变体工程中,不同变体应具有相同数量的SdClientTimer容器。

The SdClientTimer container does not support container multiplicity. In a multi-variant project, the number of SdClientTimer containers should be the same in different variants.

SdClientTimer容器的配置参考以下步骤:

Refer to the following steps for the configuration of SdClientTimer container:

(1)设置SdClientTimerInitialFindDelayMax和SdClientTimerInitialFindDelayMin属性。不设置该属性或设置为0时认为客户端实例启动后直接进入重复阶段并立即发送第一帧FindService。

(1)Set the attribute of SdClientTimerInitialFindDelayMax and SdClientTimerInitialFindDelayMin. When this attribute is not set or is set to 0, the client will enter the repetition period directly after startup and send the first frame of FindService immediately.

(2)设置SdClientTimerInitialFindRepetitionsBaseDelay和SdClientTimerInitialFindRepetitionsMax属性。不设置该属性或设置为0时客户端在进入重复阶段后立即进入主阶段。

(2)Set the attribute of SdClientTimerInitialFindRepetitionsBaseDelay and SdClientTimerInitialFindRepetitionsMax. When this attribute is not set or is set to 0, the client will enter the main phase soon after entering the repetition period.

(3)设置SdClientTimerRequestResponseMaxDelay和SdClientTimerRequestResponseMinDelay。设置为0时,在接收到需客户端应答的多播条目后,会立即发送应答报文。

(3)Set SdClientTimerRequestResponseMaxDelay and SdClientTimerRequestResponseMinDelay. When the attribute is set to 0, the response message will be immediately sent upon receiving a multicast entry that requires response from the client.

(4)设置SdClientTimerTTL。该参数需大于0,设置为0xffffffff时,表示客户端的生存时间无限制。

(4)Set SdClientTimerTTL. This parameter should be greater than 0. When it is set to 0xffffff, it means that the client lifetime is unlimited.

(5)设置SdSubscribeEventgroupRetryDelay和SdSubscribeEventgroupRetryMax。不设置或设置为0时,如果未收到 SubscribeEventGroupAck 或 SubscribeEventGroupNack,则不重新触发对事件组的订阅。若设置了SdSubscribeEventgroupRetryDelay参数,SdSubscribeEventgroupRetryMax参数也必须设置。

(5)Set SdSubscribeEventgroupRetryDelay and SdSubscribeEventgroupRetryMax. When the attribute is not set or is set to 0, if neither SubscribeEventGroupAck nor SubscribeEventGroupNack is received, the subscription to the event group will not be triggered again. If SdSubscribeEventgroupRetryDelay parameter is set, SdSubscribeEventgroupRetryMax parameter must be set as well.

创建SdServerService Create SdServerService

SdServerService

SdServerService

SdServerService容器具有以下属性:

SdServerService container has the following attributes:

(1)SdServerServiceAutoAvailable:是否自动启动ServerService。该属性支持多重性。SdServiceGroup管理至少一个ServiceGroup时该属性应使能。

(1)SdServerServiceAutoAvailable: Whether to start ServerService automatically. The attribute supports multiplicity. The attribute should be enabled when SdServiceGroup manages at least one ServiceGroup.

(2)SdServerServiceHandleId:ServerService的句柄ID。该属性由工具自动生成,用户无法手动修改。该属性不支持多变体。

(2)SdServerServiceHandleId: Handle ID of ServerService. The attribute is generated automatically by tool and cannot be modified by user manually. The attribute does not support multi-variant.

(3)SdServerServiceId 和 SdServerServiceInstanceId:Offer报文中的ServiceId和InstanceId字段。在一个SdInstance中不同ServerService的SericeId和InstanceId不能完全相同。该属性支持多变体。

(3)SdServerServiceId and SdServerServiceInstanceId: The ServiceId and InstanceId fields in the Offer message. The SericeId and InstanceId of different ServerServices in an SdInstance cannot be totally the same. The attribute supports multi-variant.

(4)SdServerServiceLoadBalancingPriority 和 SdServerServiceLoadBalancingWeight:负载均衡的优先级和权重,可不配置。该属性支持多变体。

(4)SdServerServiceLoadBalancingPriority and SdServerServiceLoadBalancingWeight: The priority and weight of load balancing, which are optional. The attribute supports multi-variant.

(5)SdServerServiceMajorVersion 和 SdServerServiceMinorVersion:Service的主版本号和次版本号。该属性支持多变体。

(5)SdServerServiceMajorVersion and SdServerServiceMinorVersion: Main and second version numbers of Service. The attribute supports multi-variant.

(6)SdServerCapabilityRecordMatchCalloutRef:接收到Find报文和Subscribe如果引用的选项中包含能力集选项,将调用该回调函数检查能力集是否匹配,可不配置。该属性支持多变体。

(6)SdServerCapabilityRecordMatchCalloutRef: If the referenced options include capability set options after receiving Find message and Subscribe, this callback function will be called to check if the capability set matches. It is optional. The attribute supports multi-variant.

(7)SdServerServiceUdpRef 和 SdServerServiceTcpRef:OfferService报文中引用的udp和tcp选项。该属性支持多变体。

(7)SdServerServiceUdpRef and SdServerServiceTcpRef: The udp and tcp options referenced in the OfferService message. The attribute supports multi-variant.

(8)SdServerServiceTimerRef:ServerService使用的定时器。该属性支持多变体。

(8)SdServerServiceTimerRef: Timer for ServerService. The attribute supports multi-variant.

(9)SdServiceGroupRef:ServerService关联的服务组。该属性支持多变体和属性多重性。

(9)SdServiceGroupRef: Service group linked with ServerService. The attribute supports multi-variant and attribute multiplicity.

SdServerService容器不支持容器多重性,在多变体工程中,不同变体应具有相同数量的SdServerService容器。

SdServerService container does not support container multiplicity. In multi-variant projects, the number of SdServerService containers should be the same in different variants.

服务实例如需向客户端提供Event或Method则应配置SdEventHandler和SdProvidedMethods容器。

If the service instance needs to provide Event or Method for the client, it should configure the SdEventHandler and SdProvidedMethods containers.

创建SdClientService Create SdClientService

SdClientService

SdClientService

(1)SdClientServiceAutoRequire:是否自动启动ClientService。该属性支持多重性。SdServiceGroup管理至少一个ServiceGroup时该属性应使能。

(1)SdClientServiceAutoRequire: Start ClientService automatically or not. The attribute supports multiplicity. The attribute should be enabled when SdServiceGroup manages at least one ServiceGroup.

(2)SdClientServiceHandleId:ClientService的句柄ID。该属性由工具自动生成,用户无法手动修改。该属性不支持多变体。

(2)SdClientServiceHandleId: Handle ID of ClientService. The attribute is generated automatically by tool and cannot be modified by user manually. The attribute does not support multi-variant.

(3)SdClientServiceId 和 SdClientServiceInstanceId:Find报文和Subscribe报文中的ServiceId和InstanceId字段。用于匹配ServerService在一个SdInstance中不同ClientService的SericeId和InstanceId不能完全相同。该属性支持多变体。

(3)SdClientServiceId and SSdClientServiceInstanceId: The ServiceId and InstanceId fields in the Find and Subscribe messages. The SericeId and InstanceId used for matching ServerService for different Client Services in an SdInstance cannot be totally the same. The attribute supports multi-variant.

(4)SdVersionDrivenFindBehavior:是否使用版本驱动的服务发现行为。该属性支持多变体。

(4)SdVersionDrivenFindBehavior: Whether to use version driven service discovery behavior. The attribute supports multi-variant.

(5)SdClientCapabilityRecordMatchCalloutRef:接收到Offer报文如果引用的选项中包含能力集选项,将调用该回调函数检查能力集是否匹配,可不配置。该属性支持多变体。

(5)SdClientCapabilityRecordMatchCalloutRef: If the referenced options include capability set options after receiving Offer message, this callback function will be called to check if the capability set matches. It is optional. The attribute supports multi-variant.

(6)SdClientServiceMulticastRef、SdClientServiceUdpRef:订阅报文中引用的multicast和udp选项,这两个选项为互斥选项。该属性支持多变体。

(6)SdClientServiceMulticastRef、SdClientServiceUdpRef: The multicast and udp options referenced in the subscription message are mutually exclusive. The attribute supports multi-variant.

(7)SdClientServiceTcpRef:订阅报文中引用的tcp选项。该属性支持多变体。

(7)SdClientServiceTcpRef: The tcp option referenced in the subscription message. The attribute supports multi-variant.

(8)SdClientServiceTimerRef:ClientService使用的定时器。该属性支持多变体。

(8)SdServerServiceTimerRef: Timer for ServerService. The attribute supports multi-variant.

(9)SdServiceGroupRef:ClientService关联的服务组。该属性支持多变体和属性多重性。

(9)SdServiceGroupRef: Service group linked with ClientService. The attribute supports multi-variant and attribute multiplicity.

SdClientService容器不支持容器多重性,在多变体工程中,不同变体应具有相同数量的SdClientService容器。

The SdClientService container does not support container multiplicity. In a multi-variant project, the number of SdClientService containers should be the same in different variants.

如需订阅服务器的Event或使用服务器提供的Method,则应配置SdConsumedEventGroup和SdConsumedMethods容器。

To subscribe to server Event or use Method provided by the server, configure SdConsumedEventGroup and SdConsumedMethods containers.