Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A problem in connection closing. #429

Open
yihuang opened this issue Aug 7, 2018 · 0 comments
Open

A problem in connection closing. #429

yihuang opened this issue Aug 7, 2018 · 0 comments

Comments

@yihuang
Copy link

yihuang commented Aug 7, 2018

* A send connect to B (lightid=1024)
  A.next_lightid = 1025
  A.outgoing = 1

* B send connect to A (lightid=1024)
  B.next_lightid = 1025
  B.outgoing = 1

* A send close connect to B
  A.outgoing = 0
  send CloseSocket to B (last_incoming=0)
  enter Closing state

* B send close connect to A
  B.outgoing = 0
  send CloseSocket to A (last_incoming=0)
  enter Closing state

* B got connect from A
  recover from Closing state.
  incomings.add(1024)

* B got close connect from A
  incomings.remove(1024)

* A got connect from B
  recover from Closing state.
  incomings.add(1024)

* A got close connect from B
  incomings.remove(1024)

In the end, both A and B's outgong==0 and incomings empty, but the heavyweight connection is not closed.
Maybe we should try CloseSocket again when we got close connection request, and find that outgoing==0 and incomings is empty?

@LaurentRDC LaurentRDC transferred this issue from haskell-distributed/network-transport-tcp Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants