graphsync

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2021 License: MIT, Apache-2.0, MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(parent context.Context, network gsnet.GraphSyncNetwork,
	loader ipld.Loader, storer ipld.Storer, options ...Option) graphsync.GraphExchange

New creates a new GraphSync Exchange on the given network, and the given link loader+storer.

Types

type GraphSync

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

GraphSync is an instance of a GraphSync exchange that implements the graphsync protocol.

func (*GraphSync) CancelResponse

func (gs *GraphSync) CancelResponse(p peer.ID, requestID graphsync.RequestID) error

CancelResponse cancels an in progress response

func (*GraphSync) PauseRequest

func (gs *GraphSync) PauseRequest(requestID graphsync.RequestID) error

PauseRequest pauses an in progress request (may take 1 or more blocks to process)

func (*GraphSync) PauseResponse

func (gs *GraphSync) PauseResponse(p peer.ID, requestID graphsync.RequestID) error

PauseResponse pauses an in progress response (may take 1 or more blocks to process)

func (*GraphSync) RegisterBlockSentListener

func (gs *GraphSync) RegisterBlockSentListener(listener graphsync.OnBlockSentListener) graphsync.UnregisterHookFunc

RegisterBlockSentListener adds a listener for when blocks are actually sent over the wire

func (*GraphSync) RegisterCompletedResponseListener

func (gs *GraphSync) RegisterCompletedResponseListener(listener graphsync.OnResponseCompletedListener) graphsync.UnregisterHookFunc

RegisterCompletedResponseListener adds a listener on the responder for completed responses

func (*GraphSync) RegisterIncomingBlockHook

func (gs *GraphSync) RegisterIncomingBlockHook(hook graphsync.OnIncomingBlockHook) graphsync.UnregisterHookFunc

RegisterIncomingBlockHook adds a hook that runs when a block is received and validated (put in block store)

func (*GraphSync) RegisterIncomingRequestHook

func (gs *GraphSync) RegisterIncomingRequestHook(hook graphsync.OnIncomingRequestHook) graphsync.UnregisterHookFunc

RegisterIncomingRequestHook adds a hook that runs when a request is received If overrideDefaultValidation is set to true, then if the hook does not error, it is considered to have "validated" the request -- and that validation supersedes the normal validation of requests Graphsync does (i.e. all selectors can be accepted)

func (*GraphSync) RegisterIncomingResponseHook

func (gs *GraphSync) RegisterIncomingResponseHook(hook graphsync.OnIncomingResponseHook) graphsync.UnregisterHookFunc

RegisterIncomingResponseHook adds a hook that runs when a response is received

func (*GraphSync) RegisterNetworkErrorListener

func (gs *GraphSync) RegisterNetworkErrorListener(listener graphsync.OnNetworkErrorListener) graphsync.UnregisterHookFunc

RegisterNetworkErrorListener adds a listener for when errors occur sending data over the wire

func (*GraphSync) RegisterOutgoingBlockHook

func (gs *GraphSync) RegisterOutgoingBlockHook(hook graphsync.OnOutgoingBlockHook) graphsync.UnregisterHookFunc

RegisterOutgoingBlockHook registers a hook that runs after each block is sent in a response

func (*GraphSync) RegisterOutgoingRequestHook

func (gs *GraphSync) RegisterOutgoingRequestHook(hook graphsync.OnOutgoingRequestHook) graphsync.UnregisterHookFunc

RegisterOutgoingRequestHook adds a hook that runs immediately prior to sending a new request

func (*GraphSync) RegisterPersistenceOption

func (gs *GraphSync) RegisterPersistenceOption(name string, loader ipld.Loader, storer ipld.Storer) error

RegisterPersistenceOption registers an alternate loader/storer combo that can be substituted for the default

func (*GraphSync) RegisterRequestUpdatedHook

func (gs *GraphSync) RegisterRequestUpdatedHook(hook graphsync.OnRequestUpdatedHook) graphsync.UnregisterHookFunc

RegisterRequestUpdatedHook registers a hook that runs when an update to a request is received

func (*GraphSync) RegisterRequestorCancelledListener

func (gs *GraphSync) RegisterRequestorCancelledListener(listener graphsync.OnRequestorCancelledListener) graphsync.UnregisterHookFunc

RegisterRequestorCancelledListener adds a listener on the responder for responses cancelled by the requestor

func (*GraphSync) Request

func (gs *GraphSync) Request(ctx context.Context, p peer.ID, root ipld.Link, selector ipld.Node, extensions ...graphsync.ExtensionData) (<-chan graphsync.ResponseProgress, <-chan error)

Request initiates a new GraphSync request to the given peer using the given selector spec.

func (*GraphSync) UnpauseRequest

func (gs *GraphSync) UnpauseRequest(requestID graphsync.RequestID, extensions ...graphsync.ExtensionData) error

UnpauseRequest unpauses a request that was paused in a block hook based request ID Can also send extensions with unpause

func (*GraphSync) UnpauseResponse

func (gs *GraphSync) UnpauseResponse(p peer.ID, requestID graphsync.RequestID, extensions ...graphsync.ExtensionData) error

UnpauseResponse unpauses a response that was paused in a block hook based on peer ID and request ID

func (*GraphSync) UnregisterPersistenceOption

func (gs *GraphSync) UnregisterPersistenceOption(name string) error

UnregisterPersistenceOption unregisters an alternate loader/storer combo

type Option

type Option func(*GraphSync)

Option defines the functional option type that can be used to configure graphsync instances

func MaxInProgressRequests added in v1.7.1

func MaxInProgressRequests(maxInProgressRequests uint64) Option

MaxInProgressRequests changes the maximum number of graphsync requests that are processed in parallel (default 6)

func MaxMemoryPerPeerResponder

func MaxMemoryPerPeerResponder(maxMemoryPerPeer uint64) Option

MaxMemoryPerPeerResponder defines the maximum amount of memory a peer may consume queueing up messages for a response

func MaxMemoryResponder

func MaxMemoryResponder(totalMaxMemory uint64) Option

MaxMemoryResponder defines the maximum amount of memory the responder may consume queueing up messages for a response in total

func RejectAllRequestsByDefault

func RejectAllRequestsByDefault() Option

RejectAllRequestsByDefault means that without hooks registered that perform their own request validation, all requests are rejected

Jump to

Keyboard shortcuts

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