github.com/onflow/flow-go@v0.33.17/module/mempool/queue/internal/messageEntity.go (about)

     1  package internal
     2  
     3  import (
     4  	"github.com/onflow/flow-go/engine"
     5  	"github.com/onflow/flow-go/model/flow"
     6  )
     7  
     8  // MessageEntity is an internal data structure for storing messages in HeroQueue.
     9  type MessageEntity struct {
    10  	Msg engine.Message
    11  	id  flow.Identifier
    12  }
    13  
    14  var _ flow.Entity = (*MessageEntity)(nil)
    15  
    16  func NewMessageEntity(msg *engine.Message) MessageEntity {
    17  	id := identifierOfMessage(msg)
    18  	return MessageEntity{
    19  		Msg: *msg,
    20  		id:  id,
    21  	}
    22  }
    23  
    24  func (m MessageEntity) ID() flow.Identifier {
    25  	return m.id
    26  }
    27  
    28  func (m MessageEntity) Checksum() flow.Identifier {
    29  	return m.id
    30  }
    31  
    32  func identifierOfMessage(msg *engine.Message) flow.Identifier {
    33  	return flow.MakeID(msg)
    34  }