Documentation
¶
Overview ¶
Package "issues" 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 BrokerController
- type ChatMessage
- type ClientController
- func (c *ClientController) Close()
- func (c ClientController) LogError(ctx log.Context, msg string)
- func (c ClientController) LogInfo(ctx log.Context, msg string)
- func (c *ClientController) PublishChat(msg ChatMessage) error
- func (c *ClientController) SetLogger(logger log.Logger)
- func (c *ClientController) SubscribeAll(as ClientSubscriber) error
- func (c *ClientController) SubscribeStatus(fn func(msg StatusMessage, done bool)) error
- func (c *ClientController) UnsubscribeAll()
- func (c *ClientController) UnsubscribeStatus()
- type ClientSubscriber
- type Error
- type Message
- type MessageWithCorrelationID
- type StatusMessage
- type UniversalMessage
Constants ¶
const (
// CorrelationIDField is the name of the field that will contain the correlation ID
CorrelationIDField = "correlation_id"
)
Variables ¶
var ( // Generic error for AsyncAPI generated code ErrAsyncAPI = errors.New("error when using AsyncAPI") // ErrContextCanceled is given when a given context is canceled ErrContextCanceled = fmt.Errorf("%w: context canceled", ErrAsyncAPI) // ErrNilBrokerController is raised when a nil broker controller is user ErrNilBrokerController = fmt.Errorf("%w: nil broker controller has been used", ErrAsyncAPI) // ErrNilAppSubscriber is raised when a nil app subscriber is user ErrNilAppSubscriber = fmt.Errorf("%w: nil app subscriber has been used", ErrAsyncAPI) // ErrNilClientSubscriber is raised when a nil client subscriber is user ErrNilClientSubscriber = fmt.Errorf("%w: nil client subscriber has been used", ErrAsyncAPI) // ErrAlreadySubscribedChannel is raised when a subscription is done twice // or more without unsubscribing ErrAlreadySubscribedChannel = fmt.Errorf("%w: the channel has already been subscribed", ErrAsyncAPI) // ErrSubscriptionCanceled is raised when expecting something and the subscription has been canceled before it happens ErrSubscriptionCanceled = fmt.Errorf("%w: the subscription has been canceled", ErrAsyncAPI) )
Functions ¶
This section is empty.
Types ¶
type BrokerController ¶
type BrokerController interface {
// SetLogger set a logger that will log operations on broker controller
SetLogger(logger log.Logger)
// Publish a message to the broker
Publish(channel string, mw UniversalMessage) error
// Subscribe to messages from the broker
Subscribe(channel string) (msgs chan UniversalMessage, stop chan interface{}, err error)
// SetQueueName sets the name of the queue that will be used by the broker
SetQueueName(name string)
}
BrokerController represents the functions that should be implemented to connect the broker to the application or the client
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 ClientController ¶
type ClientController struct {
// contains filtered or unexported fields
}
ClientController is the structure that provides publishing capabilities to the developer and and connect the broker with the Client
func NewClientController ¶
func NewClientController(bs BrokerController) (*ClientController, error)
NewClientController links the Client to the broker
func (*ClientController) Close ¶
func (c *ClientController) Close()
Close will clean up any existing resources on the controller
func (ClientController) LogError ¶ added in v0.15.0
func (c ClientController) LogError(ctx log.Context, msg string)
LogError logs error if the logger has been set
func (ClientController) LogInfo ¶ added in v0.15.0
func (c ClientController) LogInfo(ctx log.Context, msg string)
LogInfo logs information if the logger has been set
func (*ClientController) PublishChat ¶
func (c *ClientController) PublishChat(msg ChatMessage) error
PublishChat will publish messages to '/chat' channel
func (*ClientController) SetLogger ¶ added in v0.15.0
func (c *ClientController) SetLogger(logger log.Logger)
SetLogger attaches a logger that will log operations on controller
func (*ClientController) SubscribeAll ¶
func (c *ClientController) SubscribeAll(as ClientSubscriber) 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 (*ClientController) SubscribeStatus ¶
func (c *ClientController) SubscribeStatus(fn func(msg StatusMessage, done bool)) error
SubscribeStatus will subscribe to new messages from '/status' channel.
Callback function 'fn' will be called each time a new message is received. The 'done' argument indicates when the subscription is canceled and can be used to clean up resources.
func (*ClientController) UnsubscribeAll ¶
func (c *ClientController) UnsubscribeAll()
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*ClientController) UnsubscribeStatus ¶
func (c *ClientController) UnsubscribeStatus()
UnsubscribeStatus will unsubscribe messages from '/status' channel
type ClientSubscriber ¶
type ClientSubscriber interface {
// Chat
Chat(msg ChatMessage, done bool)
// Status
Status(msg StatusMessage, done bool)
}
ClientSubscriber represents all handlers that are expecting messages for Client
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
}
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 UniversalMessage ¶
UniversalMessage is a wrapper that will contain all information regarding a message