Add first leader to genesis (#1681)

* Add first leader to genesis entries, consume in genesis.sh

* Set bootstrap leader in the bank on startup, remove instantiation of bootstrap leader from bin/fullnode

* Remove need to initialize bootstrap leader in leader_scheduler, now can be read from genesis entries

* Add separate interface new_with_leader() in mint for creating genesis leader entries
This commit is contained in:
carllin
2018-11-02 14:32:05 -07:00
committed by GitHub
parent a8481215fa
commit 298bd6479a
20 changed files with 427 additions and 208 deletions

View File

@@ -125,9 +125,11 @@ pub fn bind_in_range(range: (u16, u16)) -> io::Result<(u16, UdpSocket)> {
let sock = sock.into_udp_socket();
break Result::Ok((sock.local_addr().unwrap().port(), sock));
}
Err(err) => if err.kind() != io::ErrorKind::AddrInUse || tries_left == 0 {
return Err(err);
},
Err(err) => {
if err.kind() != io::ErrorKind::AddrInUse || tries_left == 0 {
return Err(err);
}
}
}
tries_left -= 1;
}
@@ -171,9 +173,11 @@ pub fn find_available_port_in_range(range: (u16, u16)) -> io::Result<u16> {
Ok(_) => {
break Ok(rand_port);
}
Err(err) => if err.kind() != io::ErrorKind::AddrInUse || tries_left == 0 {
return Err(err);
},
Err(err) => {
if err.kind() != io::ErrorKind::AddrInUse || tries_left == 0 {
return Err(err);
}
}
}
tries_left -= 1;
}