Documentation
¶
Overview ¶
Package contract defines Hookr host-side primitives for schema-driven plugin contracts.
This package is intended for generated code and runtime validation metadata for schema-driven FlatBuffers contracts.
Index ¶
Constants ¶
View Source
const ( ABIVersionMajor = shared.ABIVersionMajor ABIVersionMinor = shared.ABIVersionMinor SchemaHashLen = shared.SchemaHashLen )
Variables ¶
View Source
var ( ErrIncompatibleABIMajor = shared.ErrIncompatibleABIMajor ErrIncompatibleABIMinor = shared.ErrIncompatibleABIMinor ErrSchemaHashMismatch = shared.ErrSchemaHashMismatch ErrCapabilityMismatch = shared.ErrCapabilityMismatch )
View Source
var ( ErrMethodHandlerMissing = errors.New("method handler cannot be nil") ErrMethodNotFound = errors.New("method not found") )
View Source
var ( ErrContractNameEmpty = shared.ErrContractNameEmpty ErrContractHashEmpty = shared.ErrContractHashEmpty ErrMethodIDDuplicate = shared.ErrMethodIDDuplicate ErrMethodNameDuplicate = shared.ErrMethodNameDuplicate ErrMethodNameEmpty = shared.ErrMethodNameEmpty ErrMethodRequestMissing = shared.ErrMethodRequestMissing ErrMethodReplyMissing = shared.ErrMethodReplyMissing )
Functions ¶
func ParseSchemaHashHex ¶
func ParseSchemaHashHex(s string) ([SchemaHashLen]byte, error)
func ValidateHandshake ¶
Types ¶
type Handshake ¶
func NewHandshake ¶
func NewHandshake(schemaHash [SchemaHashLen]byte) Handshake
type HostMethod ¶
HostMethod maps a generated method ID/name to an implementation.
type HostRegistry ¶
type HostRegistry struct {
// contains filtered or unexported fields
}
HostRegistry dispatches host callbacks by method ID.
func NewHostRegistry ¶
func NewHostRegistry(methods ...HostMethod) (*HostRegistry, error)
Click to show internal directories.
Click to hide internal directories.