package eigentrustcalc import ( "context" "github.com/nspcc-dev/neofs-node/pkg/services/reputation" "github.com/nspcc-dev/neofs-node/pkg/services/reputation/eigentrust" ) type Context interface { context.Context // Must return epoch number to select the values // for global trust calculation. Epoch() uint64 // Must return the sequence number of the iteration. I() uint32 } type InitialTrustSource interface { InitialTrust(reputation.PeerID) (reputation.TrustValue, error) } type TrustIterator interface { Iterate(reputation.TrustHandler) error } type PeerTrustsHandler func(reputation.PeerID, TrustIterator) error type PeerTrustsIterator interface { Iterate(PeerTrustsHandler) error } type DaughterTrustIteratorProvider interface { InitDaughterIterator(Context, reputation.PeerID) (TrustIterator, error) InitAllDaughtersIterator(Context) (PeerTrustsIterator, error) InitConsumersIterator(Context) (PeerTrustsIterator, error) } type IntermediateWriter interface { WriteIntermediateTrust(eigentrust.IterationTrust) error } type IntermediateWriterProvider interface { InitIntermediateWriter(Context) (IntermediateWriter, error) }