mirror of https://github.com/voidlizard/hbs2
added fixme for tcp-pex-bug
This commit is contained in:
parent
28c960458a
commit
456cdd9e01
|
@ -1,9 +0,0 @@
|
||||||
|
|
||||||
(fixme-set "workflow" "test" "5Ga1tJnn4x")
|
|
||||||
(fixme-set "assigned" "voidlizard" "5Ga1tJnn4x")
|
|
||||||
(fixme-set "workflow" "test" "FhcmCfM2at")
|
|
||||||
(fixme-set "assigned" "voidlizard" "FhcmCfM2at")
|
|
||||||
(fixme-set "workflow" "test" "6qvPmyw5mS")
|
|
||||||
(fixme-set "assigned" "voidlizard" "6qvPmyw5mS")
|
|
||||||
(fixme-set "workflow" "test" "7KJArHHyUK")
|
|
||||||
(fixme-set "assigned" "voidlizard" "7KJArHHyUK")
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
FIXME: ASAP-wrong-ports-in-pex
|
||||||
|
В PEX попадают TCP порты, которых там быть не должно ---
|
||||||
|
это автоматически назначаемые порты второй стороны, либо
|
||||||
|
приходящие еще откуда.
|
||||||
|
В PEX должны попадать **только** те порты, которые
|
||||||
|
|
||||||
|
1. Пришли из Peer Meta
|
||||||
|
2. К которым есть/было успешное TCP соединение, даже если
|
||||||
|
оно было впоследствии дропнуто
|
||||||
|
|
||||||
|
Предлагаемая схема работы:
|
||||||
|
- Протаскиваем везде Brains либо заводим новый класс (аспект), который
|
||||||
|
фиксирует *факты* про пиров и реализуем его для Brains
|
||||||
|
- Получаем meta, фиксируем TCP порт из meta, ключ - ip адрес пира
|
||||||
|
- Пробуем открыть TCP соединение, после прохождения handshake -- фиксируем
|
||||||
|
факт прохождения handshake
|
||||||
|
- Фиксируем факт наличия пинга к данному пиру по протоколу TCP
|
||||||
|
- Время от времени выбираем пиров, которые есть в этих фактах, но отсутствуют
|
||||||
|
в PEX
|
||||||
|
- Если существуют пиры, для которых есть эти 3 факта и которых нет в PEX --- добавляем
|
||||||
|
их в PEX.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue