issue148

package
v0.45.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package "issue148" provides primitives to interact with the AsyncAPI specification.

Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.

Index

Constants

View Source
const (
	// ReceptionChannelPath is the constant representing the 'ReceptionChannel' channel path.
	ReceptionChannelPath = "v3.issue148.reception"
	// ReplyChannelPath is the constant representing the 'ReplyChannel' channel path.
	ReplyChannelPath = ""
)
View Source
const AsyncAPIVersion = ""

AsyncAPIVersion is the version of the used AsyncAPI document

Variables

ChannelsPaths is an array of all channels paths

Functions

This section is empty.

Types

type AppController

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

AppController is the structure that provides sending capabilities to the developer and and connect the broker with the App

func NewAppController

func NewAppController(bc extensions.BrokerController, options ...ControllerOption) (*AppController, error)

NewAppController links the App to the broker

func (*AppController) Close

func (c *AppController) Close(ctx context.Context)

Close will clean up any existing resources on the controller

func (*AppController) ReplyToGetServiceInfoOperation added in v0.34.0

func (c *AppController) ReplyToGetServiceInfoOperation(ctx context.Context, recvMsg RequestMessageFromReceptionChannel, fn func(replyMsg *ReplyMessageFromReplyChannel)) error

ReplyToGetServiceInfoOperation is a helper function to reply to a RequestMessageFromReceptionChannel message with a ReplyMessageFromReplyChannel message on Reply channel.

func (*AppController) SendAsReplyToGetServiceInfoOperation added in v0.34.0

func (c *AppController) SendAsReplyToGetServiceInfoOperation(
	ctx context.Context,
	chanAddr string,
	msg ReplyMessageFromReplyChannel,
) error

SendAsReplyToGetServiceInfoOperation will send a ReplyMessageFromReplyChannel message on Reply channel.

NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.

func (*AppController) SubscribeToAllChannels

func (c *AppController) SubscribeToAllChannels(ctx context.Context, as AppSubscriber) error

SubscribeToAllChannels will receive messages from channels where channel has no parameter on which the app is expecting messages. For channels with parameters, they should be subscribed independently.

func (*AppController) SubscribeToGetServiceInfoOperation added in v0.34.0

func (c *AppController) SubscribeToGetServiceInfoOperation(
	ctx context.Context,
	fn func(ctx context.Context, msg RequestMessageFromReceptionChannel) error,
) error

SubscribeToGetServiceInfoOperation will receive RequestMessageFromReceptionChannel messages from Reception channel.

Callback function 'fn' will be called each time a new message is received.

NOTE: for now, this only support the first message from AsyncAPI list.

NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.

func (*AppController) UnsubscribeFromAllChannels

func (c *AppController) UnsubscribeFromAllChannels(ctx context.Context)

UnsubscribeFromAllChannels will stop the subscription of all remaining subscribed channels

func (*AppController) UnsubscribeFromGetServiceInfoOperation added in v0.34.0

func (c *AppController) UnsubscribeFromGetServiceInfoOperation(
	ctx context.Context,
)

UnsubscribeFromGetServiceInfoOperation will stop the reception of RequestMessageFromReceptionChannel messages from Reception channel. A timeout can be set in context to avoid blocking operation, if needed.

type AppSubscriber

type AppSubscriber interface {
	// GetServiceInfoOperationReceived receive all RequestMessageFromReceptionChannel messages from Reception channel.
	GetServiceInfoOperationReceived(ctx context.Context, msg RequestMessageFromReceptionChannel) error
}

AppSubscriber contains all handlers that are listening messages for App

type ControllerOption

type ControllerOption func(controller *controller)

ControllerOption is the type of the options that can be passed when creating a new Controller

func WithErrorHandler added in v0.35.0

func WithErrorHandler(handler extensions.ErrorHandler) ControllerOption

WithErrorHandler attaches a errorhandler to handle errors from subscriber functions

func WithLogger

func WithLogger(logger extensions.Logger) ControllerOption

WithLogger attaches a logger to the controller

func WithMiddlewares

func WithMiddlewares(middlewares ...extensions.Middleware) ControllerOption

WithMiddlewares attaches middlewares that will be executed when sending or receiving messages

type Error

type Error struct {
	Channel string
	Err     error
}

func (*Error) Error

func (e *Error) Error() string

type HeadersFromRequestMessageFromReceptionChannel added in v0.38.0

type HeadersFromRequestMessageFromReceptionChannel struct {
	ReplyTo *string `json:"replyTo,omitempty"`
}

HeadersFromRequestMessageFromReceptionChannel is a schema from the AsyncAPI specification required in messages

type MessageWithCorrelationID

type MessageWithCorrelationID interface {
	CorrelationID() string
	SetCorrelationID(id string)
}

type ReplyMessageFromReplyChannel added in v0.38.0

type ReplyMessageFromReplyChannel struct {
	// Payload will be inserted in the message payload
	Payload string
}

ReplyMessageFromReplyChannel is the message expected for 'ReplyMessageFromReplyChannel' channel.

func NewReplyMessageFromReplyChannel added in v0.38.0

func NewReplyMessageFromReplyChannel() ReplyMessageFromReplyChannel

type RequestMessageFromReceptionChannel added in v0.38.0

type RequestMessageFromReceptionChannel struct {
	// Headers will be used to fill the message headers
	Headers HeadersFromRequestMessageFromReceptionChannel

	// Payload will be inserted in the message payload
	Payload string
}

RequestMessageFromReceptionChannel is the message expected for 'RequestMessageFromReceptionChannel' channel.

func NewRequestMessageFromReceptionChannel added in v0.38.0

func NewRequestMessageFromReceptionChannel() RequestMessageFromReceptionChannel

type UserController

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

UserController is the structure that provides sending capabilities to the developer and and connect the broker with the User

func NewUserController

func NewUserController(bc extensions.BrokerController, options ...ControllerOption) (*UserController, error)

NewUserController links the User to the broker

func (*UserController) Close

func (c *UserController) Close(ctx context.Context)

Close will clean up any existing resources on the controller

func (*UserController) RequestToGetServiceInfoOperation added in v0.34.0

func (c *UserController) RequestToGetServiceInfoOperation(
	ctx context.Context,
	msg RequestMessageFromReceptionChannel,
) (ReplyMessageFromReplyChannel, error)

func (*UserController) SendToGetServiceInfoOperation added in v0.34.0

func (c *UserController) SendToGetServiceInfoOperation(
	ctx context.Context,
	msg RequestMessageFromReceptionChannel,
) error

SendToGetServiceInfoOperation will send a RequestMessageFromReceptionChannel message on Reception channel.

NOTE: this won't wait for reply, use the normal version to get the reply or do the catching reply manually. NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.

Jump to

Keyboard shortcuts

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