Documentation
¶
Overview ¶
Package p2p provides P2P-based transaction source functionality.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrConfigRequired is returned when config is nil ErrConfigRequired = errors.New("config is required") // ErrPeerDisconnected is returned when peer disconnects ErrPeerDisconnected = errors.New("disconnected from peer") )
Functions ¶
This section is empty.
Types ¶
type Coordinator ¶
type Coordinator struct {
// contains filtered or unexported fields
}
Coordinator manages multiple P2P source peers.
func NewCoordinator ¶
func NewCoordinator(config *source.Config, broadcast func(ctx context.Context, transactions *mimicry.Transactions) error, log logrus.FieldLogger) (*Coordinator, error)
NewCoordinator creates a new P2P coordinator.
type CoordinatorStatus ¶
CoordinatorStatus tracks peer connection status.
type Peer ¶
type Peer struct {
// contains filtered or unexported fields
}
Peer represents a P2P source connection to a single node.
func NewPeer ¶
func NewPeer(ctx context.Context, log logrus.FieldLogger, nodeRecord string, handler func(ctx context.Context, transactions *mimicry.Transactions) error, sharedCache *cache.SharedCache, txFilterConfig *source.TransactionFilterConfig, metrics *source.Metrics) (*Peer, error)
NewPeer creates a new P2P source peer.
func (*Peer) ExportBlobTransactions ¶
ExportBlobTransactions handles blob transactions with priority
func (*Peer) ExportNormalTransactions ¶
ExportNormalTransactions handles non-blob transactions
type TransactionExporter ¶
type TransactionExporter struct {
// contains filtered or unexported fields
}
TransactionExporter exports batched transaction hashes for processing.
func NewTransactionExporter ¶
func NewTransactionExporter(log logrus.FieldLogger, handler func(ctx context.Context, items []*common.Hash) error) (TransactionExporter, error)
NewTransactionExporter creates a new transaction exporter.
func (TransactionExporter) ExportItems ¶
ExportItems exports a batch of transaction hashes.
type TransactionTypeHash ¶
TransactionTypeHash maps a transaction hash to its type.