forked from TrueCloudLab/frostfs-node
[#486] morph/client: Separate container estimation functions
Inner ring should be able to invoke contract methods both notary and non notary way. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
7c559aaeaa
commit
c4f4381b13
4 changed files with 34 additions and 2 deletions
|
@ -93,7 +93,7 @@ func newEpochTimer(args *epochTimerArgs) *timer.BlockTimer {
|
|||
return
|
||||
}
|
||||
|
||||
err := args.cnrWrapper.StopEstimation(epochN - 1)
|
||||
err := args.cnrWrapper.StopEstimationNotary(epochN - 1)
|
||||
if err != nil {
|
||||
args.l.Warn("can't stop epoch estimation",
|
||||
zap.Uint64("epoch", epochN),
|
||||
|
|
|
@ -27,7 +27,7 @@ func (np *Processor) processNewEpoch(epoch uint64) {
|
|||
}
|
||||
|
||||
if epoch > 0 { // estimates are invalid in genesis epoch
|
||||
err = np.containerWrp.StartEstimation(epoch - 1)
|
||||
err = np.containerWrp.StartEstimationNotary(epoch - 1)
|
||||
if err != nil {
|
||||
np.log.Warn("can't start container size estimation",
|
||||
zap.Uint64("epoch", epoch),
|
||||
|
|
|
@ -21,6 +21,13 @@ func (e *StopEstimation) SetEpoch(v int64) {
|
|||
}
|
||||
|
||||
func (c *Client) StartEstimation(args StartEstimation) error {
|
||||
return errors.Wrapf(c.client.Invoke(
|
||||
c.startEstimation,
|
||||
args.epoch,
|
||||
), "could not invoke method (%s)", c.startEstimation)
|
||||
}
|
||||
|
||||
func (c *Client) StartEstimationNotary(args StartEstimation) error {
|
||||
return errors.Wrapf(c.client.NotaryInvoke(
|
||||
c.startEstimation,
|
||||
args.epoch,
|
||||
|
@ -28,6 +35,13 @@ func (c *Client) StartEstimation(args StartEstimation) error {
|
|||
}
|
||||
|
||||
func (c *Client) StopEstimation(args StopEstimation) error {
|
||||
return errors.Wrapf(c.client.Invoke(
|
||||
c.stopEstimation,
|
||||
args.epoch,
|
||||
), "could not invoke method (%s)", c.stopEstimation)
|
||||
}
|
||||
|
||||
func (c *Client) StopEstimationNotary(args StopEstimation) error {
|
||||
return errors.Wrapf(c.client.NotaryInvoke(
|
||||
c.stopEstimation,
|
||||
args.epoch,
|
||||
|
|
|
@ -12,6 +12,15 @@ func (w *Wrapper) StartEstimation(epoch uint64) error {
|
|||
return w.client.StartEstimation(args)
|
||||
}
|
||||
|
||||
// StartEstimationNotary votes to produce start estimation notification through
|
||||
// notary contract.
|
||||
func (w *Wrapper) StartEstimationNotary(epoch uint64) error {
|
||||
args := container.StartEstimation{}
|
||||
args.SetEpoch(int64(epoch))
|
||||
|
||||
return w.client.StartEstimationNotary(args)
|
||||
}
|
||||
|
||||
// StopEstimation votes to produce stop estimation notification.
|
||||
func (w *Wrapper) StopEstimation(epoch uint64) error {
|
||||
args := container.StopEstimation{}
|
||||
|
@ -19,3 +28,12 @@ func (w *Wrapper) StopEstimation(epoch uint64) error {
|
|||
|
||||
return w.client.StopEstimation(args)
|
||||
}
|
||||
|
||||
// StopEstimationNotary votes to produce stop estimation notification through
|
||||
// notary contract.
|
||||
func (w *Wrapper) StopEstimationNotary(epoch uint64) error {
|
||||
args := container.StopEstimation{}
|
||||
args.SetEpoch(int64(epoch))
|
||||
|
||||
return w.client.StopEstimationNotary(args)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue