diff options
Diffstat (limited to 'docs/design')
| -rw-r--r-- | docs/design/012-link-protocol.md | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/docs/design/012-link-protocol.md b/docs/design/012-link-protocol.md index 359dfbe..c99bdb0 100644 --- a/docs/design/012-link-protocol.md +++ b/docs/design/012-link-protocol.md @@ -254,8 +254,13 @@ LOST는 그 패킷의 번호를 담아 에폭 0의 키로 봉인한다. 답 run� **쉬는 피어.** 30초 동안 조용하고 쥔 것이 없는 피어는 run, 주소, 스트림을 놓는다(지역 선택). 다음 패킷이 다시 만든다. -**메모.** 선 위의 일은 아니지만 재시작에 관계된다. 받는 쪽은 피어마다 S와, 그 피어의 run 하나에 대해 받아들인 에폭을 파일에 -적어 둘 수 있다. 다시 떠도 그 run은 비대칭 연산 없이 이어진다. 메모에 없는 run은 LOST를 받고 에폭을 다시 시작한다. +**메모.** 선 위의 일은 아니지만 재시작에 관계된다. 받는 쪽은 피어마다 S와, 그 피어의 run마다 받아들인 에폭을 파일에 적어 둘 +수 있다. + +- 피어의 자리에는 run 하나를 둔다. +- 그 run이 아직 보내는 동안 같은 키의 다른 run(한 노드의 출력 여럿)은 곁의 자리 1,024개에 둔다. +- 다시 떠도, 쉬었다 돌아와도 이 run들은 비대칭 연산 없이 이어진다. +- 메모에 없는 run은 LOST를 받고 에폭을 다시 시작한다. ## 수와 지역 선택 @@ -308,8 +313,10 @@ LOST는 그 패킷의 번호를 담아 에폭 0의 키로 봉인한다. 답 run� - 받는 쪽의 개인 키를 가진 이는 그 받는 쪽에게 어느 보내는 쪽으로든 봉인할 수 있다(Noise KK의 첫 메시지와 같은 KCI). 에폭은 이것을 바꾸지 않는다. 다만 다른 run의 에폭 안으로는 들어오지 못한다. -- 메모는 피어마다 run 하나의 에폭만 든다. 한 노드의 출력 여럿이 같은 노드로 가면, 받는 쪽이 다시 뜬 뒤나 30초 넘게 쉰 뒤에 - 나머지 run은 LOST를 받고 에폭 0에서 다시 시작한다. +- 메모의 곁 자리는 1,024개이고 한 run이 두 자리 가운데 하나에 든다. 한 받는 쪽에 함께 보내는 "피어의 둘째 이후 run"이 + 그보다 많아 자리가 겹치면, 밀려난 run은 받는 쪽이 다시 뜬 뒤 LOST를 받고 에폭 0에서 다시 시작한다. +- 메모는 받아들인 에폭의 비밀을 그 run의 다음 에폭이 덮을 때까지 디스크에 둔다. 다시 떠도 잇기 위해서다. 그 사이 메모 + 파일을 가져간 이는 그 에폭과 앞 에폭을 열 수 있다. - NAT 뒤에서 쉬는 기기에 먼저 보내는 일은 풀지 않는다. ## 이 명세와 구현 |
