У нас есть дизайн, как показано ниже, и я хотел бы получить мнения или указания протокола для приведенного ниже сценария ошибки.Руководящие принципы разработки протокола
Layer1
---------------
| ^^
| (1) |(4) |(6)
v | | Remote entity
---------------- ---------------
Layer0-----------------(2)------------------------------->Layer0
Layer0<----------------(3)--------------------------------Layer0
Layer0<----------------(5)--------------------------------Layer0
1. New session request to remote entity.
2. Establish link + data(session request)
3. Link Establishment ongoing
4. Link Establishment pending
5. Link Established + data (session accepted)
6. session accepted.
Если layer1 решает, что он не нужен дистанционный Entities обслуживание между шагом 4 и 6. т.е. событие 4 получено и события 6 еще не получил из-за какой-то ошибки.
1) Должна ли она ждать события 6 произойдет, и инициировать выпуск сеанса или
2) Layer1 следует проинструктировать Layer 0, чтобы завершить процедуру установления соединения
немедленно.
Каков правильный путь?
Проблема с (1) будет, даже если мы знаем, что мы собираемся завершить сеанс из-за ошибки, нам нужно обрабатывать другие события, прежде чем event6 приходит.