Site icon EfmSoft

Что означает код HRESULT 0x80630103 (PEER_E_CONNECTION_NOT_FOUND)?

 
Предыдущий Следующий
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 подключён.

Данные, которые нужно сохранить до повтора

Контролируемая изоляция

перечислите активные соединения непосредственно перед закрытием или отправкой, затем повторите после обработки события отключения. Меняйте только одну переменную; одновременные изменения 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. Такая запись позволяет регрессионному тесту отличить состояние жизненного цикла графа от последующего сбоя транспорта, авторизации или приложения.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version