Add validator catchup command (#6922)

This commit is contained in:
Michael Vines
2019-11-13 15:58:14 -07:00
committed by GitHub
parent 5f38fa379c
commit f116cdeed9
7 changed files with 141 additions and 27 deletions

View File

@ -4,7 +4,7 @@ use crate::{
generic_rpc_client_request::GenericRpcClientRequest,
mock_rpc_client_request::MockRpcClientRequest,
rpc_client_request::RpcClientRequest,
rpc_request::{RpcEpochInfo, RpcRequest, RpcVersionInfo, RpcVoteAccountStatus},
rpc_request::{RpcContactInfo, RpcEpochInfo, RpcRequest, RpcVersionInfo, RpcVoteAccountStatus},
};
use bincode::serialize;
use log::*;
@ -177,6 +177,25 @@ impl RpcClient {
})
}
pub fn get_cluster_nodes(&self) -> io::Result<Vec<RpcContactInfo>> {
let response = self
.client
.send(&RpcRequest::GetClusterNodes, None, 0, None)
.map_err(|err| {
io::Error::new(
io::ErrorKind::Other,
format!("GetClusterNodes request failure: {:?}", err),
)
})?;
serde_json::from_value(response).map_err(|err| {
io::Error::new(
io::ErrorKind::Other,
format!("GetClusterNodes parse failure: {}", err),
)
})
}
pub fn get_epoch_info(&self) -> io::Result<RpcEpochInfo> {
let response = self
.client