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

Update all the things. #4403

Merged
merged 2 commits into from
Nov 21, 2017
Merged

Update all the things. #4403

merged 2 commits into from
Nov 21, 2017

Conversation

Stebalien
Copy link
Member

secio

  • Do the handshake synchronously. This means we'll never see a connection until it has actually been fully verified. It should also prevent us from blocking when checking the remote peer's ID.

conn, transports, etc.

  • Accept concurrently. This prevents synchronous secio handshakes from blocking
    other secio handshakes.
  • Use contexts for timeouts. One can now accurately set dial contexts via timeouts instead of setting a global dial timeout. We still have a global 60s dial timeout for sanity.
  • Correctly set the source address.

reuseport

  • Move away from syscall to sys. This should fix support on some platforms, e.g., linux-arm64.
  • Make reuseport compile on netbsd
  • Make checking for reuseport support faster.
  • Probably more...

go-msgio/mpool

  • Remove the locks and allocate pools up front (much faster). They're not that large.
  • Update multiple dependent packages to share a global msgio buffer pool instead of copying it. I'm not entirely sure how we weren't deadlocking and panicking all over the place; we were copying locks.

cmds, cmdkit

  • Rename DefaultVal -> Default, Default -> WithDefault

Depends on ipfs/go-ipfs-cmds#17

Copy link
Member

@whyrusleeping whyrusleeping left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn, this should be a good update.

@Stebalien
Copy link
Member Author

Stebalien commented Nov 21, 2017

@whyrusleeping
Copy link
Member

@Stebalien done did it

Note: This commit is technically broken. However, I need to make a bunch of
cmds changes to make this work and I'd rather not bundle both changes into a
single commit.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
@ghost ghost assigned Stebalien Nov 21, 2017
@ghost ghost added the status/in-progress In progress label Nov 21, 2017
Propagate change from cmdkit.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
@Stebalien
Copy link
Member Author

@whyrusleeping done.

@whyrusleeping whyrusleeping merged commit b18b1e9 into master Nov 21, 2017
@whyrusleeping whyrusleeping deleted the feat/secio-update branch November 21, 2017 16:51
@ghost ghost removed the status/in-progress In progress label Nov 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants