messaging

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

Messaging: wasmcloud messaging capability provider: publish, request-reply, and subscriptions

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MessageSubscriberContractId

func MessageSubscriberContractId() string

MessageSubscriberContractId returns the capability contract id for this interface

func MessageSubscriberHandler

func MessageSubscriberHandler(actor_ MessageSubscriber) actor.Handler

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

func MessagingContractId

func MessagingContractId() string

MessagingContractId returns the capability contract id for this interface

func MessagingHandler

func MessagingHandler(actor_ Messaging) actor.Handler

MessagingHandler 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 MessageSubscriber

type MessageSubscriber interface {
	// subscription handler
	HandleMessage(ctx *actor.Context, arg SubMessage) error
}

The MessageSubscriber interface describes an actor interface that receives messages sent by the Messaging provider

type MessageSubscriberReceiver

type MessageSubscriberReceiver struct{}

MessageSubscriberReceiver receives messages defined in the MessageSubscriber service interface The MessageSubscriber interface describes an actor interface that receives messages sent by the Messaging provider

func (*MessageSubscriberReceiver) Dispatch

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

type MessageSubscriberSender

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

MessageSubscriberSender sends messages to a MessageSubscriber service The MessageSubscriber interface describes an actor interface that receives messages sent by the Messaging provider

func NewActorMessageSubscriberSender

func NewActorMessageSubscriberSender(actor_id string) *MessageSubscriberSender

NewActorSender constructs a client for actor-to-actor messaging using the recipient actor's public key

func (*MessageSubscriberSender) HandleMessage

func (s *MessageSubscriberSender) HandleMessage(ctx *actor.Context, arg SubMessage) error

subscription handler

type Messaging

type Messaging interface {
	// Publish - send a message
	// The function returns after the message has been sent.
	// If the sender expects to receive an asynchronous reply,
	// the replyTo field should be filled with the
	// subject for the response.
	Publish(ctx *actor.Context, arg PubMessage) error
	// Request - send a message in a request/reply pattern,
	// waiting for a response.
	Request(ctx *actor.Context, arg RequestMessage) (*ReplyMessage, error)
}

The Messaging interface describes a service that can deliver messages

type MessagingReceiver

type MessagingReceiver struct{}

MessagingReceiver receives messages defined in the Messaging service interface The Messaging interface describes a service that can deliver messages

func (*MessagingReceiver) Dispatch

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

type MessagingSender

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

MessagingSender sends messages to a Messaging service The Messaging interface describes a service that can deliver messages

func NewProviderMessaging

func NewProviderMessaging() *MessagingSender

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

func NewProviderMessagingLink(linkName string) *MessagingSender

NewProviderMessagingLink constructs a client for sending to a Messaging provider implementing the 'wasmcloud:messaging' capability contract, with the specified link name

func (*MessagingSender) Publish

func (s *MessagingSender) Publish(ctx *actor.Context, arg PubMessage) error

Publish - send a message The function returns after the message has been sent. If the sender expects to receive an asynchronous reply, the replyTo field should be filled with the subject for the response.

func (*MessagingSender) Request

func (s *MessagingSender) Request(ctx *actor.Context, arg RequestMessage) (*ReplyMessage, error)

Request - send a message in a request/reply pattern, waiting for a response.

type PubMessage

type PubMessage struct {
	// The subject, or topic, of the message
	Subject string
	// An optional topic on which the reply should be sent.
	ReplyTo string
	// The message payload
	Body []byte
}

A message to be published

func CDecodePubMessage

func CDecodePubMessage(d *cbor.Decoder) (PubMessage, error)

CDecodePubMessage deserializes a PubMessage using cbor

func MDecodePubMessage

func MDecodePubMessage(d *msgpack.Decoder) (PubMessage, error)

MDecodePubMessage deserializes a PubMessage using msgpack

func (*PubMessage) CEncode

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

CEncode serializes a PubMessage using cbor

func (*PubMessage) MEncode

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

MEncode serializes a PubMessage using msgpack

type ReplyMessage

type ReplyMessage struct {
	// The subject, or topic, of the message
	Subject string
	// An optional topic on which the reply should be sent.
	ReplyTo string
	// The message payload
	Body []byte
}

Reply received from a Request operation

func CDecodeReplyMessage

func CDecodeReplyMessage(d *cbor.Decoder) (ReplyMessage, error)

CDecodeReplyMessage deserializes a ReplyMessage using cbor

func MDecodeReplyMessage

func MDecodeReplyMessage(d *msgpack.Decoder) (ReplyMessage, error)

MDecodeReplyMessage deserializes a ReplyMessage using msgpack

func (*ReplyMessage) CEncode

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

CEncode serializes a ReplyMessage using cbor

func (*ReplyMessage) MEncode

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

MEncode serializes a ReplyMessage using msgpack

type RequestMessage

type RequestMessage struct {
	// The subject, or topic, of the message
	Subject string
	// The message payload
	Body []byte
	// A timeout, in milliseconds
	TimeoutMs uint32
}

Message sent as part of a request, with timeout

func CDecodeRequestMessage

func CDecodeRequestMessage(d *cbor.Decoder) (RequestMessage, error)

CDecodeRequestMessage deserializes a RequestMessage using cbor

func MDecodeRequestMessage

func MDecodeRequestMessage(d *msgpack.Decoder) (RequestMessage, error)

MDecodeRequestMessage deserializes a RequestMessage using msgpack

func (*RequestMessage) CEncode

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

CEncode serializes a RequestMessage using cbor

func (*RequestMessage) MEncode

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

MEncode serializes a RequestMessage using msgpack

type SubMessage

type SubMessage struct {
	// The subject, or topic, of the message
	Subject string
	// An optional topic on which the reply should be sent.
	ReplyTo string
	// The message payload
	Body []byte
}

Message received as part of a subscription

func CDecodeSubMessage

func CDecodeSubMessage(d *cbor.Decoder) (SubMessage, error)

CDecodeSubMessage deserializes a SubMessage using cbor

func MDecodeSubMessage

func MDecodeSubMessage(d *msgpack.Decoder) (SubMessage, error)

MDecodeSubMessage deserializes a SubMessage using msgpack

func (*SubMessage) CEncode

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

CEncode serializes a SubMessage using cbor

func (*SubMessage) MEncode

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

MEncode serializes a SubMessage using msgpack

Jump to

Keyboard shortcuts

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