numbergen

package module
v0.0.0-...-a418af8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Numbergen: wasmcloud built-in capability provider for number generation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NumberGenContractId

func NumberGenContractId() string

NumberGenContractId returns the capability contract id for this interface

func NumberGenHandler

func NumberGenHandler(actor_ NumberGen) actor.Handler

NumberGenHandler is called by an actor during `main` to generate a dispatch handler The output of this call should be passed into `actor.RegisterHandlers`

Types

type NumberGen

type NumberGen interface {
	//
	// GenerateGuid - return a 128-bit guid in the form 123e4567-e89b-12d3-a456-426655440000
	// These guids are known as "version 4", meaning all bits are random or pseudo-random.
	//
	GenerateGuid(ctx *actor.Context) (string, error)
	// Request a random integer within a range
	// The result will will be in the range [min,max), i.e., >= min and < max.
	RandomInRange(ctx *actor.Context, arg RangeLimit) (uint32, error)
	// Request a 32-bit random number
	Random32(ctx *actor.Context) (uint32, error)
}

type NumberGenReceiver

type NumberGenReceiver struct{}

NumberGenReceiver receives messages defined in the NumberGen service interface

func (*NumberGenReceiver) Dispatch

func (r *NumberGenReceiver) Dispatch(ctx *actor.Context, svc interface{}, message *actor.Message) (*actor.Message, error)

type NumberGenSender

type NumberGenSender struct {
	// contains filtered or unexported fields
}

NumberGenSender sends messages to a NumberGen service

func NewProviderNumberGen

func NewProviderNumberGen() *NumberGenSender

NewProvider constructs a client for sending to a NumberGen provider implementing the 'wasmcloud:builtin:numbergen' capability contract, with the "default" link

func NewProviderNumberGenLink(linkName string) *NumberGenSender

NewProviderNumberGenLink constructs a client for sending to a NumberGen provider implementing the 'wasmcloud:builtin:numbergen' capability contract, with the specified link name

func (*NumberGenSender) GenerateGuid

func (s *NumberGenSender) GenerateGuid(ctx *actor.Context) (string, error)

GenerateGuid - return a 128-bit guid in the form 123e4567-e89b-12d3-a456-426655440000 These guids are known as "version 4", meaning all bits are random or pseudo-random.

func (*NumberGenSender) Random32

func (s *NumberGenSender) Random32(ctx *actor.Context) (uint32, error)

Request a 32-bit random number

func (*NumberGenSender) RandomInRange

func (s *NumberGenSender) RandomInRange(ctx *actor.Context, arg RangeLimit) (uint32, error)

Request a random integer within a range The result will will be in the range [min,max), i.e., >= min and < max.

type RangeLimit

type RangeLimit struct {
	Min uint32
	Max uint32
}

Input range for RandomInRange, inclusive. Result will be >= min and <= max Example: random_in_range(RangeLimit{0,4}) returns one the values, 0, 1, 2, 3, or 4.

func CDecodeRangeLimit

func CDecodeRangeLimit(d *cbor.Decoder) (RangeLimit, error)

CDecodeRangeLimit deserializes a RangeLimit using cbor

func MDecodeRangeLimit

func MDecodeRangeLimit(d *msgpack.Decoder) (RangeLimit, error)

MDecodeRangeLimit deserializes a RangeLimit using msgpack

func (*RangeLimit) CEncode

func (o *RangeLimit) CEncode(encoder cbor.Writer) error

CEncode serializes a RangeLimit using cbor

func (*RangeLimit) MEncode

func (o *RangeLimit) MEncode(encoder msgpack.Writer) error

MEncode serializes a RangeLimit using msgpack

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL