vsomeip icon indicating copy to clipboard operation
vsomeip copied to clipboard

When the threshold is set to 1 in the configuration, the initial event sent for client 2 is always multicast rather than unicast.

Open Vignesh-Murugappan opened this issue 1 year ago • 4 comments

When the threshold is set to 1 in the configuration, the initial event sent for client 2 is always multicast rather than unicast.

Vignesh-Murugappan avatar Sep 10 '24 07:09 Vignesh-Murugappan

Hi, this fails when building:

Screenshot from 2024-09-10 11-53-06

duartenfonseca avatar Sep 10 '24 10:09 duartenfonseca

Hi, this fails when building:

Screenshot from 2024-09-10 11-53-06

Resolved. Thanks for your comment.

Vignesh-Murugappan avatar Sep 10 '24 11:09 Vignesh-Murugappan

@Vignesh-Murugappan if you read here: https://github.com/COVESA/vsomeip/blob/637fb6ccce969f89621660dd481badb29a90d661/documentation/vsomeipUserGuide#L662C1-L669C53 it says:

Specifies when to use multicast and when to use unicast to send a notification event. Must be set to a non-negative number. If it is set to zero, all events of the eventgroup will be sent by unicast. Otherwise, the events will be sent by unicast as long as the number of subscribers is lower than the threshold and by multicast if the number of subscribers is greater or equal. This means, a threshold of 1 will lead to all events being sent by multicast. The default value is 0. which seems to go against what you describe as your fix

duartenfonseca avatar Sep 10 '24 14:09 duartenfonseca

@Vignesh-Murugappan if you read here: https://github.com/COVESA/vsomeip/blob/637fb6ccce969f89621660dd481badb29a90d661/documentation/vsomeipUserGuide#L662C1-L669C53 it says:

Specifies when to use multicast and when to use unicast to send a notification event. Must be set to a non-negative number. If it is set to zero, all events of the eventgroup will be sent by unicast. Otherwise, the events will be sent by unicast as long as the number of subscribers is lower than the threshold and by multicast if the number of subscribers is greater or equal. This means, a threshold of 1 will lead to all events being sent by multicast. The default value is 0. which seems to go against what you describe as your fix

**Yes, you're correct. When the threshold is set to 1, the expectation is that all events should be multicast.

However, no initial event is sent. According to PRS_SOMEIPSD_00487, an initial event should be sent to subscribers immediately after subscription acknowledgment for all new subscriptions. If a subscription is already active and is subsequently updated by a Subscribe Eventgroup entry, no initial events should be dispatched.

In my case, when the threshold is set to 1, the initial event is received by the first subscriber but not by the second.

In summary, when the threshold is 'N', initial events are sent to all 'N' subscribers, but not to the 'N+1'-th subscriber and so on.

With the proposed change, the behavior aligns with expectations, and there are no issues observed with multicast or unicast behavior regardless of whether the threshold is set or not.**

Vignesh-Murugappan avatar Sep 11 '24 04:09 Vignesh-Murugappan

the initial event, after the threshold is surpassed is sent via multicast. and that is backed by this requirement: image-2025-01-22-15-11-27-144

which says that after only multicast communications is allowed with n>threshold

duartenfonseca avatar Jan 28 '25 10:01 duartenfonseca

@duartenfonseca Thanks for your comment.

Understand that this threshold parameter does not influence the working of initial event functionality i.e. initial event should be always over unicast. covesa_clarification Can you check this?

vidz12 avatar Feb 05 '25 13:02 vidz12

@duartenfonseca Could you please let me know your views on the above specification attached?

vidz12 avatar Feb 26 '25 06:02 vidz12