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
- Variables
- type AppController
- func (c *AppController) Close(ctx context.Context)
- func (c *AppController) PublishChat(ctx context.Context, msg ChatMessage) error
- func (c *AppController) PublishStatus(ctx context.Context, msg StatusMessage) error
- func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) error
- func (c *AppController) SubscribeChat(ctx context.Context, fn func(ctx context.Context, msg ChatMessage)) error
- func (c *AppController) UnsubscribeAll(ctx context.Context)
- func (c *AppController) UnsubscribeChat(ctx context.Context)
- type AppSubscriber
- type ChatMessage
- type ControllerOption
- type Error
- type Message
- type MessageWithCorrelationID
- type StatusMessage
- type UserController
- func (c *UserController) Close(ctx context.Context)
- func (c *UserController) PublishChat(ctx context.Context, msg ChatMessage) error
- func (c *UserController) SubscribeAll(ctx context.Context, as UserSubscriber) error
- func (c *UserController) SubscribeChat(ctx context.Context, fn func(ctx context.Context, msg ChatMessage)) error
- func (c *UserController) SubscribeStatus(ctx context.Context, fn func(ctx context.Context, msg StatusMessage)) error
- func (c *UserController) UnsubscribeAll(ctx context.Context)
- func (c *UserController) UnsubscribeChat(ctx context.Context)
- func (c *UserController) UnsubscribeStatus(ctx context.Context)
- type UserSubscriber
Constants ¶
const ( // ChatPath is the constant representing the '/chat' channel path. ChatPath = "/chat" // StatusPath is the constant representing the '/status' channel path. StatusPath = "/status" )
const AsyncAPIVersion = "1.0.0"
AsyncAPIVersion is the version of the used AsyncAPI document
Variables ¶
var ChannelsPaths = []string{ ChatPath, StatusPath, }
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 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 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 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