Implement Init/Sync Validators

This commit is contained in:
Jae Kwon
2016-02-28 19:19:29 -08:00
parent 1ffe780976
commit dcabdad9b9
6 changed files with 100 additions and 23 deletions

View File

@ -215,6 +215,14 @@ func (cli *Client) QueryAsync(query []byte) *ReqRes {
return cli.queueRequest(types.RequestQuery(query))
}
func (cli *Client) InitValidatorsAsync(validators []*types.Validator) *ReqRes {
return cli.queueRequest(types.RequestInitValidators(validators))
}
func (cli *Client) SyncValidatorsAsync() *ReqRes {
return cli.queueRequest(types.RequestSyncValidators())
}
//----------------------------------------
func (cli *Client) FlushSync() error {
@ -280,6 +288,24 @@ func (cli *Client) QuerySync(query []byte) (code types.CodeType, result []byte,
return res.Code, res.Data, res.Log, nil
}
func (cli *Client) InitValidatorsSync(validators []*types.Validator) (err error) {
cli.queueRequest(types.RequestInitValidators(validators))
cli.FlushSync()
if cli.err != nil {
return cli.err
}
return nil
}
func (cli *Client) SyncValidatorsSync() (validators []*types.Validator, err error) {
reqres := cli.queueRequest(types.RequestSyncValidators())
cli.FlushSync()
if cli.err != nil {
return nil, cli.err
}
return reqres.Response.Validators, nil
}
//----------------------------------------
func (cli *Client) queueRequest(req *types.Request) *ReqRes {