-
Notifications
You must be signed in to change notification settings - Fork 38
/
local.go
55 lines (39 loc) · 993 Bytes
/
local.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package deletesvc
import (
objectSDK "github.com/nspcc-dev/neofs-api-go/pkg/object"
)
func (exec *execCtx) executeLocal() {
exec.log.Debug("forming tombstone structure...")
ok := exec.formTombstone()
if !ok {
return
}
exec.log.Debug("tombstone structure successfully formed, saving...")
ok = exec.saveTombstone()
if !ok {
return
}
exec.log.Debug("tombstone successfilly saved, broadcasting...")
exec.broadcastTombstone()
}
func (exec *execCtx) formTombstone() (ok bool) {
exec.tombstone = objectSDK.NewTombstone()
exec.addMembers([]*objectSDK.ID{exec.address().ObjectID()})
exec.log.Debug("forming split info...")
ok = exec.formSplitInfo()
if !ok {
return
}
exec.log.Debug("split info successfully formed, collecting members...")
exec.tombstone.SetSplitID(exec.splitInfo.SplitID())
ok = exec.collectMembers()
if !ok {
return
}
exec.log.Debug("members successfully collected")
ok = exec.initTombstoneObject()
if !ok {
return
}
return true
}