Versions in this module Expand all Collapse all v0 v0.2.0 Jan 3, 2026 v0.0.3 Dec 24, 2025 Changes in this version + const CHIChannelDAT + const CHIChannelREQ + const CHIChannelRSP + const CHIChannelSNP + const DataKeyDecoder + const DataKeyMessageBuilder + const DataKeyRole + const OpcodeComp + const OpcodeCompAck + const OpcodeCompData + const OpcodeDataSepResp + const OpcodeMakeReadUnique + const OpcodeReadClean + const OpcodeReadNoSnp + const OpcodeReadNoSnpSep + const OpcodeReadNotSharedDirty + const OpcodeReadPreferUnique + const OpcodeReadReceipt + const OpcodeReadShared + const OpcodeReadUnique + const OpcodeRespSepData + const OpcodeSnpInvalidate + const OpcodeSnpOnceFwd + const OpcodeSnpResp + const OpcodeSnpRespData + const OpcodeSnpRespDataFwded + const OpcodeSnpRespDataPtl + const OpcodeSnpRespFwded + const OpcodeSnpSharedFwd + const OpcodeSnpUniqueFwd + func GetCHICache(n node.Node) cache.Cache + func GetCHIDecoder(n node.Node) (decoder.Decoder, error) + func GetCHIDirectory(n node.Node) directory.Directory + func HomeNodeReadCleanHandler(ctx *transaction.TxnContext, n node.Node, reqMsg *message.Message) error + func HomeNodeReadSharedHandler(ctx *transaction.TxnContext, n node.Node, reqMsg *message.Message) error + func IsCHINode(n node.Node) bool + func ReadCleanTxn(ctx *transaction.TxnContext, n node.Node, addr uint64) ([]byte, error) + func ReadSharedContinuous(ctx *transaction.TxnContext, addr uint64) ([]byte, error) + func ReadSharedTxn(ctx *transaction.TxnContext, n node.Node, addr uint64) ([]byte, error) + func ReadUniqueContinuous(ctx *transaction.TxnContext, addr uint64) ([]byte, error) + func ReadUniqueTxn(ctx *transaction.TxnContext, n node.Node, addr uint64) ([]byte, error) + func SetupCHINode(n node.Node, role NodeRole, dec decoder.Decoder, c cache.Cache, ...) + func SnpInvalidateContinuous(ctx *transaction.TxnContext, snpMsg *message.Message) error + func SnpSharedFwdContinuous(ctx *transaction.TxnContext, snpMsg *message.Message, useDMT bool) error + func SnpSharedFwdHandler(ctx *transaction.TxnContext, n node.Node, snpMsg *message.Message) error + func SnpUniqueFwdContinuous(ctx *transaction.TxnContext, snpMsg *message.Message, useDMT bool) error + func WriteUniqueContinuous(ctx *transaction.TxnContext, addr uint64, data []byte) error + type CHIPayload struct + Addr uint64 + Data []byte + ExtFields map[string]interface{} + Opcode int + RespErr int + ReturnNID int + ReturnTxnID int + func NewCHIPayload(opcode int, addr uint64) *CHIPayload + func (p *CHIPayload) GetExtField(key string) (interface{}, bool) + func (p *CHIPayload) SetData(data []byte) + func (p *CHIPayload) SetExtField(key string, value interface{}) + func (p *CHIPayload) SetReturnInfo(returnNID int, returnTxnID int) + type ContinuousSnoopDispatcher struct + func NewContinuousSnoopDispatcher(useDMT bool) *ContinuousSnoopDispatcher + func (d *ContinuousSnoopDispatcher) Dispatch(txnMgr *transaction.TxnManager, snpMsg *message.Message) error + type HashDecoder struct + func NewHashDecoder(numHomeNodes, homeNodeBase, addressBits int) *HashDecoder + func (d *HashDecoder) DecodeAddress(addr uint64) (*decoder.DecodeResult, error) + type MessageBuilder struct + func GetCHIMessageBuilder(n node.Node) (*MessageBuilder, error) + func NewMessageBuilder(nodeID int) *MessageBuilder + func (b *MessageBuilder) NewMessage(txnID dataflow.TransactionID, msgType int, sourceID, targetID int, ...) *message.Message + type NodeRole string + const RoleHN + const RoleRN + const RoleSN + func GetCHIRole(n node.Node) (NodeRole, error) + type StaticDecoder struct + func NewStaticDecoder(homeNodeID int) *StaticDecoder + func (d *StaticDecoder) DecodeAddress(addr uint64) (*decoder.DecodeResult, error)