Application based Error Handling
- The application can easily implement “at least once” reliability by using idempotent operations (i.e. operation that can be executed multiple times without side effects) and using a simple timeout mechanism. Figure 6.10 shows the state machines for “at least once” reliability using implicit acknowledgements. When the client sends out the request it starts a timer with the timeout specified for the specific method. If no response is received before the timer expires (round transition at the top), the client will retry the operation. A Typical number of retries would be 2, so that 3 requests are sent.
应用程序可以通过使用幂等操作(即可以多次执行且无副作用的操作)和使用简单的超时机制轻松实现“至少一次”可靠性。 图6.10显示了使用隐式确认“至少一次”可靠性的状态机。 当客户端发出请求时,它会启动一个定时器,并为特定方法指定timeout。 如果在计时器到期之前没有收到响应(顶部的圆形转换),则客户端将重试该操作。 典型的重试次数为2,因此发送3个请求。
- The number of retries, the timeout values, and the timeout behavior (constant or exponential back off) are outside of the SOME/IP specification and may be added to the interface definition.
retry次数,timeout值和timeout行为(常量或指数退避)不在SOME / IP规范范围之内,可以添加到接口定义中。