forked from TrueCloudLab/frostfs-node
[#910] innerring: Make notary deposit on notification instead of timer
Timer is not suitable for notary deposits because it can never fire in case of desynchronization or external epoch changes. Notary deposits must be handled on new epoch event. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
45f244eb77
commit
a437ffc3ed
6 changed files with 35 additions and 38 deletions
|
@ -65,6 +65,7 @@ type (
|
|||
handleNewAudit event.Handler
|
||||
handleAuditSettlements event.Handler
|
||||
handleAlphabetSync event.Handler
|
||||
handleNotaryDeposit event.Handler
|
||||
|
||||
nodeValidator NodeValidator
|
||||
|
||||
|
@ -86,6 +87,7 @@ type (
|
|||
HandleAudit event.Handler
|
||||
AuditSettlementsHandler event.Handler
|
||||
AlphabetSyncHandler event.Handler
|
||||
NotaryDepositHandler event.Handler
|
||||
|
||||
NodeValidator NodeValidator
|
||||
|
||||
|
@ -116,6 +118,8 @@ func New(p *Params) (*Processor, error) {
|
|||
return nil, errors.New("ir/netmap: audit settlement handler is not set")
|
||||
case p.AlphabetSyncHandler == nil:
|
||||
return nil, errors.New("ir/netmap: alphabet sync handler is not set")
|
||||
case p.NotaryDepositHandler == nil:
|
||||
return nil, errors.New("ir/netmap: notary deposit handler is not set")
|
||||
case p.ContainerWrapper == nil:
|
||||
return nil, errors.New("ir/netmap: container contract wrapper is not set")
|
||||
case p.NodeValidator == nil:
|
||||
|
@ -144,6 +148,8 @@ func New(p *Params) (*Processor, error) {
|
|||
|
||||
handleAlphabetSync: p.AlphabetSyncHandler,
|
||||
|
||||
handleNotaryDeposit: p.NotaryDepositHandler,
|
||||
|
||||
nodeValidator: p.NodeValidator,
|
||||
|
||||
notaryDisabled: p.NotaryDisabled,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue