| Предыдущий | Следующий |
| PEER_E_TOO_MANY_ATTRIBUTES | PEER_E_CONNECT_SELF |
PEER_E_CONNECTION_NOT_FOUND
Где peer stack отклоняет операцию
PEER_E_CONNECTION_NOT_FOUND — HRESULT 0x80630103 означает, что запрошенного идентификатора прямого или соседнего соединения больше нет в таблице соединений графа или группы. PEER_E_CONNECTION_NOT_FOUND — Рассматривайте это как результат жизненного цикла графа, а не как общий сбой peer-сети.
Peer Graphing поддерживает связанный набор nodes, реплицирует records и имеет отдельные lifetimes graph, node, connection и event. Открытая graph database не означает, что node подключён.
Данные, которые нужно сохранить до повтора
- Зафиксируйте первый отказ среди PeerGraphEnumConnections, PeerGraphCloseDirectConnection, PeerGroupEnumConnections и PeerGroupCloseDirectConnection.
- Сохраните connection ID, node ID, тип соединения, снимок перечисления, порядок событий отключения и сведения о том, не закрыл ли уже соединение другой поток.
- Поместите успешное создание/discovery, события изменения состояния и неудачный вызов на одну timeline.
- Сохраняйте peer name, identity, идентификаторы записей, данные приглашений и endpoint в исходном представлении Unicode или в двоичном виде.
Контролируемая изоляция
перечислите активные соединения непосредственно перед закрытием или отправкой, затем повторите после обработки события отключения. Меняйте только одну переменную; одновременные изменения identity, cloud, database и firewall state уничтожают причинную привязку.
| Контрольная точка | Вопрос для PEER_E_CONNECTION_NOT_FOUND |
|---|---|
| До API | Было ли требуемое состояние узла или соединения получено в этом процессе и контексте пользователя? |
| На HRESULT | Сохраните connection ID, node ID, тип соединения, снимок перечисления, порядок событий отключения и сведения о том, не закрыл ли уже соединение другой поток. |
| После исправления | считайте connection ID временными и удаляйте их из состояния приложения сразу после прихода соответствующего события соединения. |
Соседний результат
PEER_E_NODE_NOT_FOUND отличается тем, что node-not-found относится к identity узла графа, а connection-not-found — к конкретному живому объекту соединения. Сохраняйте оба HRESULT в хронологическом порядке: исправление предпосылки может открыть следующий этап validation.
Безопасная реакция
считайте connection ID временными и удаляйте их из состояния приложения сразу после прихода соответствующего события соединения. Перед изменениями сохраняйте durable graph databases, group exports, identity certificates и invitation artifacts.
Инструментирование и регрессионное покрытие
Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют connection ID, node ID, тип соединения, снимок перечисления, порядок событий отключения и факт возможного закрытия связи другим потоком.
| Регрессионный уровень | Проверяемый случай | Условие прохождения |
|---|---|---|
| Входные данные и время жизни объекта | Постройте минимальный сценарий, в котором запрошенного идентификатора прямого или соседнего соединения уже нет в таблице графа или группы. | В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGraphEnumConnections, PeerGraphCloseDirectConnection, PeerGroupEnumConnections и PeerGroupCloseDirectConnection. |
| Контролируемое сравнение | перечислите активные соединения непосредственно перед закрытием или отправкой, затем повторите после обработки события отключения. | Между неуспешным и успешным запуском изменяется только целевое состояние node или connection. |
| Путь восстановления | считайте connection ID временными и удаляйте их из состояния приложения сразу после прихода соответствующего события соединения. | Нужная операция завершается успешно без замены несвязанной replicated graph database. |
Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить состояние жизненного цикла графа от последующего сбоя транспорта, авторизации или приложения.
Ссылки
- Microsoft: обзор Peer Graphing API — источник документирует соответствующую peer boundary.
- Microsoft Open Specifications: протокол Peer-to-Peer Graphing — источник документирует соответствующую peer boundary.
- Microsoft: Security Service Providers for Peer Graphing — источник документирует соответствующую peer boundary.
- Microsoft: общие return codes Peer Infrastructure — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.
