Documentation ¶
Overview ¶
Package pushsync provides the pushsync protocol implementation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrOutOfDepthReplication = errors.New("replication outside of the neighborhood") ErrNoPush = errors.New("could not push chunk") )
Functions ¶
This section is empty.
Types ¶
type PushSync ¶
type PushSync struct {
// contains filtered or unexported fields
}
func New ¶
func New(address penguin.Address, streamer p2p.StreamerDisconnecter, storer storage.Putter, topology topology.Driver, tagger *tags.Tags, isFullNode bool, unwrap func(penguin.Chunk), validStamp func(penguin.Chunk, []byte) (penguin.Chunk, error), logger logging.Logger, accounting accounting.Interface, pricer pricer.Interface, signer crypto.Signer, tracer *tracing.Tracer) *PushSync
func (*PushSync) Metrics ¶
func (s *PushSync) Metrics() []prometheus.Collector
func (*PushSync) Protocol ¶
func (s *PushSync) Protocol() p2p.ProtocolSpec
func (*PushSync) PushChunkToClosest ¶
PushChunkToClosest sends chunk to the closest peer by opening a stream. It then waits for a receipt from that peer and returns error or nil based on the receiving and the validity of the receipt.
type PushSyncer ¶
Click to show internal directories.
Click to hide internal directories.