COVESA / vsomeip

An implementation of Scalable service-Oriented MiddlewarE over IP
Mozilla Public License 2.0
1.01k stars 647 forks source link

elminate tcp_client_endpoint restart on SubscribeNack #691

Open joeyoravec opened 2 weeks ago

joeyoravec commented 2 weeks ago

fixes #690

When resuming from suspend-to-ram it's likely that UDP SOME-IP works but the TCP socket got broken. Until a new TCP socket gets established, the remote end responds SubscribeNak. The handler will call restart()

restart() will early terminate 5 times total. Thereafter it will call shutdown_and_close_socket_unlocked. This is really expensive if the node sends thousands of total requests before a TCP socket gets established.

Options include:

  1. do not call restart() at all on SubscribeNak. seems safe?
  2. fix restart() to early-terminate better in this state, more than 5x
  3. ensure that SOMEIP-SD is inhibited in this state (suspend routing?)

This commit implements 1 but the others might be alternatives