Documentation ¶
Index ¶
- func NewHeadBroadcaster() httypes.HeadBroadcaster
- type Config
- type HeadListener
- type HeadSaver
- func (ht *HeadSaver) Chain(ctx context.Context, hash common.Hash, depth uint) (models.Head, error)
- func (ht *HeadSaver) HighestSeenHead() *models.Head
- func (ht *HeadSaver) HighestSeenHeadFromDB() (*models.Head, error)
- func (ht *HeadSaver) IdempotentInsertHead(ctx context.Context, head models.Head) error
- func (ht *HeadSaver) Save(ctx context.Context, h models.Head) error
- func (ht *HeadSaver) SetHighestSeenHeadFromDB() (*models.Head, error)
- type HeadTracker
- func (ht *HeadTracker) Backfill(ctx context.Context, headWithChain models.Head, depth uint) (err error)
- func (ht *HeadTracker) Chain(ctx context.Context, hash common.Hash, depth uint) (models.Head, error)
- func (ht *HeadTracker) Connected() bool
- func (ht *HeadTracker) HighestSeenHead() *models.Head
- func (ht *HeadTracker) HighestSeenHeadFromDB() (*models.Head, error)
- func (ht *HeadTracker) Save(ctx context.Context, h models.Head) error
- func (ht *HeadTracker) SetLogger(logger *logger.Logger)
- func (ht *HeadTracker) Start() error
- func (ht *HeadTracker) Stop() error
- type NullBroadcaster
- func (*NullBroadcaster) Close() error
- func (*NullBroadcaster) Connect(head *models.Head) error
- func (n *NullBroadcaster) Healthy() error
- func (*NullBroadcaster) OnNewLongestChain(ctx context.Context, head models.Head)
- func (n *NullBroadcaster) Ready() error
- func (*NullBroadcaster) Start() error
- func (*NullBroadcaster) Subscribe(callback httypes.HeadTrackable) (unsubscribe func())
- type NullTracker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewHeadBroadcaster ¶
func NewHeadBroadcaster() httypes.HeadBroadcaster
NewHeadBroadcaster creates a new HeadBroadcaster
Types ¶
type HeadListener ¶
type HeadListener struct {
// contains filtered or unexported fields
}
func NewHeadListener ¶
func (*HeadListener) Connected ¶
func (hl *HeadListener) Connected() bool
Connected returns whether or not this HeadTracker is connected.
func (*HeadListener) ListenForNewHeads ¶
func (*HeadListener) SetLogger ¶
func (hl *HeadListener) SetLogger(logger *logger.Logger)
SetLogger sets and reconfigures the log for the head tracker service
type HeadSaver ¶
type HeadSaver struct {
// contains filtered or unexported fields
}
func NewHeadSaver ¶
func (*HeadSaver) HighestSeenHead ¶
HighestSeenHead returns the block header with the highest number that has been seen, or nil
func (*HeadSaver) HighestSeenHeadFromDB ¶
func (*HeadSaver) IdempotentInsertHead ¶
type HeadTracker ¶
type HeadTracker struct { utils.StartStopOnce // contains filtered or unexported fields }
HeadTracker holds and stores the latest block number experienced by this particular node in a thread safe manner. Reconstitutes the last block number from the data store on reboot.
func NewHeadTracker ¶
func NewHeadTracker( l *logger.Logger, store *strpkg.Store, headBroadcaster httypes.HeadBroadcaster, sleepers ...utils.Sleeper, ) *HeadTracker
NewHeadTracker instantiates a new HeadTracker using the orm to persist new block numbers. Can be passed in an optional sleeper object that will dictate how often it tries to reconnect.
func (*HeadTracker) Backfill ¶
func (ht *HeadTracker) Backfill(ctx context.Context, headWithChain models.Head, depth uint) (err error)
Backfill given a head will fill in any missing heads up to the given depth
func (*HeadTracker) Connected ¶
func (ht *HeadTracker) Connected() bool
Connected returns whether or not this HeadTracker is connected.
func (*HeadTracker) HighestSeenHead ¶
func (ht *HeadTracker) HighestSeenHead() *models.Head
func (*HeadTracker) HighestSeenHeadFromDB ¶
func (ht *HeadTracker) HighestSeenHeadFromDB() (*models.Head, error)
func (*HeadTracker) SetLogger ¶
func (ht *HeadTracker) SetLogger(logger *logger.Logger)
SetLogger sets and reconfigures the log for the head tracker service
func (*HeadTracker) Start ¶
func (ht *HeadTracker) Start() error
Start retrieves the last persisted block number from the HeadTracker, subscribes to new heads, and if successful fires Connect on the HeadTrackable argument.
func (*HeadTracker) Stop ¶
func (ht *HeadTracker) Stop() error
Stop unsubscribes all connections and fires Disconnect.
type NullBroadcaster ¶
type NullBroadcaster struct{}
func (*NullBroadcaster) Close ¶
func (*NullBroadcaster) Close() error
func (*NullBroadcaster) Healthy ¶
func (n *NullBroadcaster) Healthy() error
func (*NullBroadcaster) OnNewLongestChain ¶
func (*NullBroadcaster) OnNewLongestChain(ctx context.Context, head models.Head)
func (*NullBroadcaster) Ready ¶
func (n *NullBroadcaster) Ready() error
func (*NullBroadcaster) Start ¶
func (*NullBroadcaster) Start() error
func (*NullBroadcaster) Subscribe ¶
func (*NullBroadcaster) Subscribe(callback httypes.HeadTrackable) (unsubscribe func())
type NullTracker ¶
type NullTracker struct{}
func (*NullTracker) HighestSeenHeadFromDB ¶
func (n *NullTracker) HighestSeenHeadFromDB() (*models.Head, error)
func (*NullTracker) SetLogger ¶
func (*NullTracker) SetLogger(*logger.Logger)
func (*NullTracker) Start ¶
func (*NullTracker) Start() error
func (*NullTracker) Stop ¶
func (*NullTracker) Stop() error