-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Permit fullnodes to advertise a different address than what they bind to #485
Conversation
wooooohoooo!!!! |
@@ -126,30 +126,48 @@ fn main() { | |||
} | |||
} | |||
|
|||
let mut local_gossip_addr = bind_addr.clone(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very clever reuse of bind_addr 👍
src/thin_client.rs
Outdated
@@ -156,6 +156,17 @@ impl ThinClient { | |||
} | |||
self.process_response(resp); | |||
} | |||
match self.recv_response() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you mean to delete that if let Ok
above?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah crap. Yeah, rebase error I think. Thanks for catching
@@ -126,30 +126,48 @@ fn main() { | |||
} | |||
} | |||
|
|||
let mut local_gossip_addr = bind_addr.clone(); | |||
local_gossip_addr.set_port(repl_data.gossip_addr.port()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So ugly! You thinking ReplicatedData should separate IP and ports into separate fields?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙈 yeah something like that would totally help. That was more Rust than I'm comfortable busting out at this point, you're ok with this as is for now?
Fixes applied, @garious r? |
@@ -1,11 +1,54 @@ | |||
#!/bin/bash | |||
|
|||
num_tokens=${1:-1000000000} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
EOF | ||
} | ||
|
||
while getopts "h?n:p:P" opt; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there are some error cases you might handle here, but it's not a gating issue, IMHO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh like what? I’ll fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I always have to go look at my old getopts() calls along with the bash manpage...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/cornholington/autocross/blob/master/results/esc.sh captures my latest thinking on getopts(). note the initial ':' in the string and the unknown opt case statement
Bumps [rollup](https://github.com/rollup/rollup) from 2.27.1 to 2.28.1. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](rollup/rollup@v2.27.1...v2.28.1) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This permits GCP-based nodes to talk to each other over public IP addresses (provided firewall ingress rules are setup correctly for the nodes).
The leader/validator need to advertise their public IP so they can be found, but cannot bind to their public IP as they only see their private IP.
The issue of NAT traversal for client nodes is not addressed here.