httpsync

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2023 License: Apache-2.0, MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SignedHeadSchema

func SignedHeadSchema() schema.Type

Types

type Publisher added in v0.0.5

type Publisher struct {
	// contains filtered or unexported fields
}

Publisher serves an advertisement chain over HTTP.

func NewPublisher

func NewPublisher(address string, lsys ipld.LinkSystem, privKey ic.PrivKey) (*Publisher, error)

NewPublisher creates a new http publisher, listening on the specified address.

func NewPublisherForListener added in v0.1.0

func NewPublisherForListener(listener net.Listener, handlerPath string, lsys ipld.LinkSystem, privKey ic.PrivKey) (*Publisher, error)

NewPublisherForListener creates a new http publisher for an existing listener. When providing an existing listener, running the HTTP server is the caller's responsibility. ServeHTTP on the returned Publisher can be used to handle requests. handlerPath is the path to handle requests on, e.g. "ipni" for `/ipni/...` requests.

DEPRECATED: use NewPublisherWithoutServer(listener.Addr(), ...)

func NewPublisherWithoutServer added in v0.2.3

func NewPublisherWithoutServer(address string, handlerPath string, lsys ipld.LinkSystem, privKey ic.PrivKey) (*Publisher, error)

NewPublisherWithoutServer creates a new http publisher for an existing network address. When providing an existing network address, running the HTTP server is the caller's responsibility. ServeHTTP on the returned Publisher can be used to handle requests. handlerPath is the path to handle requests on, e.g. "ipni" for `/ipni/...` requests.

func (*Publisher) Addrs added in v0.0.5

func (p *Publisher) Addrs() []multiaddr.Multiaddr

Addrs returns the addresses, as []multiaddress, that the Publisher is listening on.

func (*Publisher) Close added in v0.0.5

func (p *Publisher) Close() error

Close closes the Publisher.

func (*Publisher) ID added in v0.0.5

func (p *Publisher) ID() peer.ID

ID returns the p2p peer ID of the Publisher.

func (*Publisher) Protocol added in v0.0.5

func (p *Publisher) Protocol() int

Protocol returns the multihash protocol ID of the transport used by the publisher.

func (*Publisher) ServeHTTP added in v0.0.5

func (p *Publisher) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements the http.Handler interface.

func (*Publisher) SetRoot added in v0.0.5

func (p *Publisher) SetRoot(c cid.Cid)

SetRoot sets the head of the advertisement chain.

type Sync

type Sync struct {
	// contains filtered or unexported fields
}

Sync provides sync functionality for use with all http syncs.

func NewSync

func NewSync(lsys ipld.LinkSystem, client *http.Client, blockHook func(peer.ID, cid.Cid)) *Sync

NewSync creates a new Sync.

func (*Sync) Close

func (s *Sync) Close()

func (*Sync) NewSyncer

func (s *Sync) NewSyncer(peerID peer.ID, peerAddrs []multiaddr.Multiaddr) (*Syncer, error)

NewSyncer creates a new Syncer to use for a single sync operation against a peer.

type Syncer

type Syncer struct {
	// contains filtered or unexported fields
}

Syncer provides sync functionality for a single sync with a peer.

func (*Syncer) GetHead

func (s *Syncer) GetHead(ctx context.Context) (cid.Cid, error)

GetHead fetches the head of the peer's advertisement chain.

func (*Syncer) Sync

func (s *Syncer) Sync(ctx context.Context, nextCid cid.Cid, sel ipld.Node) error

Sync syncs the peer's advertisement chain or entries chain.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL