Files
consensus/networking/sender/sender.go
zeekay 4aac78700d Refactor: remove dead code, add thread safety, improve test coverage
- Remove unused packages: engine/dag/{getter,bootstrap,vertex/vertexmock},
  engine/pq/{bootstrap,block}, core/{tracker,verify}
- Add sync.RWMutex to protocol/wave for thread-safe map access
- Increase engine/dag test coverage from 11.7% to 98.3%
- Add comprehensive tests for DAG consensus, vertex, and engine
- All 27 packages pass tests, 16 at 100% coverage
2025-12-13 07:42:01 +00:00

50 lines
1.2 KiB
Go

package sender
import (
"context"
"github.com/luxfi/consensus/core/router"
"github.com/luxfi/ids"
"github.com/luxfi/math/set"
"github.com/luxfi/warp"
)
// Sender sends messages
type Sender interface {
// Send sends a message
Send(context.Context, Message) error
// SendRequest sends a warp request
SendRequest(context.Context, set.Set[ids.NodeID], uint32, []byte) error
// SendResponse sends a warp response
SendResponse(context.Context, ids.NodeID, uint32, []byte) error
// SendGossip sends warp gossip
SendGossip(context.Context, warp.SendConfig, []byte) error
}
// Message represents a message to send
type Message struct {
NodeIDs set.Set[ids.NodeID]
RequestID uint32
Op Op
Bytes []byte
}
// Op re-exports from core/router for consistency
type Op = router.Op
// Op constants re-exported from core/router
const (
GetAcceptedFrontier = router.GetAcceptedFrontier
AcceptedFrontier = router.AcceptedFrontier
GetAccepted = router.GetAccepted
Accepted = router.Accepted
Get = router.Get
Put = router.Put
PushQuery = router.PushQuery
PullQuery = router.PullQuery
Chits = router.Chits
)