issue49

package
v0.30.0 Latest Latest
Warning

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

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

Documentation

Overview

Package "issue49" 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 AsyncAPIVersion = "1.0.0"

AsyncAPIVersion is the version of the used AsyncAPI document

Variables

This section is empty.

Functions

This section is empty.

Types

type AppController

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

AppController is the structure that provides publishing 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) PublishChat added in v0.21.3

func (c *AppController) PublishChat(ctx context.Context, msg ChatMessage) error

PublishChat will publish messages to '/chat' channel

func (*AppController) PublishStatus

func (c *AppController) PublishStatus(ctx context.Context, msg StatusMessage) error

PublishStatus will publish messages to '/status' channel

func (*AppController) SubscribeAll

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

SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.

func (*AppController) SubscribeChat

func (c *AppController) SubscribeChat(ctx context.Context, fn func(ctx context.Context, msg ChatMessage)) error

SubscribeChat will subscribe to new messages from '/chat' channel.

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

func (*AppController) UnsubscribeAll

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

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*AppController) UnsubscribeChat

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

UnsubscribeChat will unsubscribe messages from '/chat' channel. A timeout can be set in context to avoid blocking operation, if needed.

type AppSubscriber

type AppSubscriber interface {
	// Chat subscribes to messages placed on the '/chat' channel
	Chat(ctx context.Context, msg ChatMessage)
}

AppSubscriber represents all handlers that are expecting messages for App

type ChatMessage

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

ChatMessage is the message expected for 'Chat' channel

func NewChatMessage

func NewChatMessage() ChatMessage

type ControllerOption added in v0.21.0

type ControllerOption func(controller *controller)

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

func WithLogger added in v0.21.0

func WithLogger(logger extensions.Logger) ControllerOption

WithLogger attaches a logger to the controller

func WithMiddlewares added in v0.21.0

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 Message

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

Message is the message expected for ” channel

func NewMessage

func NewMessage() Message

type MessageWithCorrelationID

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

type StatusMessage

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

StatusMessage is the message expected for 'Status' channel

func NewStatusMessage

func NewStatusMessage() StatusMessage

type UserController added in v0.20.0

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

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

func NewUserController added in v0.20.0

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

NewUserController links the User to the broker

func (*UserController) Close added in v0.20.0

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

Close will clean up any existing resources on the controller

func (*UserController) PublishChat added in v0.20.0

func (c *UserController) PublishChat(ctx context.Context, msg ChatMessage) error

PublishChat will publish messages to '/chat' channel

func (*UserController) SubscribeAll added in v0.20.0

func (c *UserController) SubscribeAll(ctx context.Context, as UserSubscriber) error

SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.

func (*UserController) SubscribeChat added in v0.21.3

func (c *UserController) SubscribeChat(ctx context.Context, fn func(ctx context.Context, msg ChatMessage)) error

SubscribeChat will subscribe to new messages from '/chat' channel.

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

func (*UserController) SubscribeStatus added in v0.20.0

func (c *UserController) SubscribeStatus(ctx context.Context, fn func(ctx context.Context, msg StatusMessage)) error

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

func (*UserController) UnsubscribeAll added in v0.20.0

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

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*UserController) UnsubscribeChat added in v0.21.3

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

UnsubscribeChat will unsubscribe messages from '/chat' channel. A timeout can be set in context to avoid blocking operation, if needed.

func (*UserController) UnsubscribeStatus added in v0.20.0

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

UnsubscribeStatus will unsubscribe messages from '/status' channel. A timeout can be set in context to avoid blocking operation, if needed.

type UserSubscriber added in v0.20.0

type UserSubscriber interface {
	// Chat subscribes to messages placed on the '/chat' channel
	Chat(ctx context.Context, msg ChatMessage)

	// Status subscribes to messages placed on the '/status' channel
	Status(ctx context.Context, msg StatusMessage)
}

UserSubscriber represents all handlers that are expecting messages for User

Jump to

Keyboard shortcuts

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