github.com/MetalBlockchain/metalgo@v1.11.9/snow/networking/sender/external_sender.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package sender
     5  
     6  import (
     7  	"github.com/MetalBlockchain/metalgo/ids"
     8  	"github.com/MetalBlockchain/metalgo/message"
     9  	"github.com/MetalBlockchain/metalgo/snow/engine/common"
    10  	"github.com/MetalBlockchain/metalgo/subnets"
    11  	"github.com/MetalBlockchain/metalgo/utils/set"
    12  )
    13  
    14  // ExternalSender sends consensus messages to other validators
    15  // Right now this is implemented in the networking package
    16  type ExternalSender interface {
    17  	Send(
    18  		msg message.OutboundMessage,
    19  		config common.SendConfig,
    20  		subnetID ids.ID,
    21  		allower subnets.Allower,
    22  	) set.Set[ids.NodeID]
    23  }