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 }