github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/execution/proposal/proposal.go (about)

     1  package proposal
     2  
     3  import (
     4  	"github.com/hyperledger/burrow/txs/payload"
     5  )
     6  
     7  type Reader interface {
     8  	GetProposal(proposalHash []byte) (*payload.Ballot, error)
     9  }
    10  
    11  type Writer interface {
    12  	// Updates the proposal, creating it if it does not exist
    13  	UpdateProposal(proposalHash []byte, proposal *payload.Ballot) error
    14  	// Remove the proposal by hash
    15  	RemoveProposal(proposalHash []byte) error
    16  }
    17  
    18  type ReaderWriter interface {
    19  	Reader
    20  	Writer
    21  }
    22  
    23  type Iterable interface {
    24  	IterateProposals(consumer func(proposalHash []byte, proposal *payload.Ballot) error) (err error)
    25  }
    26  
    27  type IterableReader interface {
    28  	Iterable
    29  	Reader
    30  }
    31  
    32  type IterableReaderWriter interface {
    33  	Iterable
    34  	ReaderWriter
    35  }