Site icon EfmSoft

Что означает код HRESULT 0x80630106 (PEER_E_CONNECT_SELF)?

 
Предыдущий Следующий
PEER_E_CONNECTION_NOT_FOUND PEER_E_ALREADY_LISTENING

PEER_E_CONNECT_SELF

Где peer stack отклоняет операцию

PEER_E_CONNECT_SELF — HRESULT 0x80630106 означает, что запрос прямого соединения разрешился в локальный узел вместо отдельного peer. PEER_E_CONNECT_SELF — Рассматривайте это как результат жизненного цикла графа, а не как общий сбой peer-сети.

Peer Graphing поддерживает связанный набор nodes, реплицирует records и имеет отдельные lifetimes graph, node, connection и event. Открытая graph database не означает, что node подключён.

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

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

исключите локальный узел из перечисления и сравните попытку соединения с заведомо удалённым узлом с попыткой через локальную запись. Меняйте только одну переменную; одновременные изменения identity, cloud, database и firewall state уничтожают причинную привязку.

Контрольная точкаВопрос для PEER_E_CONNECT_SELF
До APIБыло ли требуемое состояние узла или соединения получено в этом процессе и контексте пользователя?
На HRESULTСохраните локальный node ID и адреса, целевой node ID, список разрешённых endpoint, identity графа/группы и алгоритм выбора endpoint.
После исправленияотбрасывайте собственные endpoint до открытия прямого соединения и не смешивайте identity узла с отображаемыми или friendly names.

Соседний результат

PEER_E_PNRP_DUPLICATE_PEER_NAME отличается тем, что дублированная публикация может дать несколько endpoint для одного имени, но непосредственный дефект здесь — соединение с собственным локальным endpoint. Сохраняйте оба HRESULT в хронологическом порядке: исправление предпосылки может открыть следующий этап validation.

Безопасная реакция

отбрасывайте собственные endpoint до открытия прямого соединения и не смешивайте identity узла с отображаемыми или friendly names. Перед изменениями сохраняйте durable graph databases, group exports, identity certificates и invitation artifacts.

Инструментирование и регрессионное покрытие

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют локальный node ID и адреса, целевой node ID, список разрешённых endpoint, identity графа/группы и алгоритм выбора endpoint.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаПостройте минимальный сценарий, в котором запрос прямого соединения выбирает локальный узел вместо другого peer.В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGraphOpenDirectConnection или PeerGroupOpenDirectConnection и перечисления узлов.
Контролируемое сравнениеисключите локальный узел из перечисления и сравните попытку соединения с заведомо удалённым узлом с попыткой через локальную запись.Между неуспешным и успешным запуском изменяется только целевое состояние node или connection.
Путь восстановленияотбрасывайте собственные endpoint до открытия прямого соединения и не смешивайте identity узла с отображаемыми или friendly names.Нужная операция завершается успешно без замены несвязанной replicated graph database.

Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить состояние жизненного цикла графа от последующего сбоя транспорта, авторизации или приложения.

Ссылки


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

Exit mobile version