Documentation
¶
Overview ¶
Package "generated" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.
Package "generated" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.
Package "generated" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.
Package "generated" 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 (ac *AppController) Close()
- func (ac *AppController) Listen(irq chan interface{})
- func (ac *AppController) SubscribeAll(as AppSubscriber) error
- func (ac *AppController) SubscribeHello(fn func(msg HelloMessage)) error
- func (ac *AppController) UnsubscribeAll()
- func (ac *AppController) UnsubscribeHello()
- type AppSubscriber
- type BrokerController
- type HelloMessage
- type NATSController
- 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") // ErrTimedOut is given when any timeout happen ErrTimedOut = fmt.Errorf("%w: time out", ErrAsyncAPI) )
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(bs BrokerController) *AppController
NewAppController links the application to the broker
func (*AppController) Close ¶
func (ac *AppController) Close()
Close will clean up any existing resources on the controller
func (*AppController) Listen ¶
func (ac *AppController) Listen(irq chan interface{})
Listen will let the controller handle subscriptions and will be interrupted only when an struct is sent on the interrupt channel
func (*AppController) SubscribeAll ¶
func (ac *AppController) SubscribeAll(as AppSubscriber) error
SubscribeAll will subscribe to channels on which the app is expecting messages
func (*AppController) SubscribeHello ¶
func (ac *AppController) SubscribeHello(fn func(msg HelloMessage)) error
SubscribeHello will subscribe to new messages from 'hello' channel
func (*AppController) UnsubscribeAll ¶
func (ac *AppController) UnsubscribeAll()
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*AppController) UnsubscribeHello ¶
func (ac *AppController) UnsubscribeHello()
UnsubscribeHello will unsubscribe messages from 'hello' channel
type AppSubscriber ¶
type AppSubscriber interface { // Hello Hello(msg HelloMessage) }
AppSubscriber represents all application handlers that are expecting messages from clients
type BrokerController ¶
type BrokerController interface { // 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) }
BrokerController represents the functions that should be implemented to connect the broker to the application or the client
type HelloMessage ¶
type HelloMessage struct { // Payload will be inserted in the message payload Payload string }
HelloMessage is the message expected for 'Hello' channel
func NewHelloMessage ¶
func NewHelloMessage() HelloMessage
type NATSController ¶
type NATSController struct {
// contains filtered or unexported fields
}
NATSController is the NATS implementation for asyncapi-codegen
func NewNATSController ¶
func NewNATSController(connection *nats.Conn) *NATSController
NewNATSController creates a new NATSController that fulfill the BrokerLinker interface
func (*NATSController) Publish ¶
func (c *NATSController) Publish(channel string, um UniversalMessage) error
Publish a message to the broker
func (*NATSController) Subscribe ¶
func (c *NATSController) Subscribe(channel string) (msgs chan UniversalMessage, stop chan interface{}, err error)
Subscribe to messages from the broker
type UniversalMessage ¶
UniversalMessage is a wrapper that will contain all information regarding a message