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
- type Book
- type BooksListRequestMessage
- type BooksListResponseMessage
- type BrokerController
- type ClientController
- func (cc *ClientController) Close()
- func (cc *ClientController) PublishBooksListRequest(msg BooksListRequestMessage) error
- func (cc *ClientController) SubscribeAll(cs ClientSubscriber) error
- func (cc *ClientController) SubscribeBooksListResponse(fn func(msg BooksListResponseMessage)) error
- func (cc *ClientController) UnsubscribeAll()
- func (cc *ClientController) UnsubscribeBooksListResponse()
- type ClientSubscriber
- type NATSController
- type UniversalMessage
Constants ¶
const (
// CorrelationIdField is the name of the field that will contain the correlation ID
CorrelationIdField = "correlation_id"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BooksListRequestMessage ¶
type BooksListRequestMessage struct {
// Headers will be used to fill the message headers
Headers struct {
// Correlation ID set by client
CorrelationId string `json:"correlation_id"`
}
// Payload will be inserted in the message payload
Payload struct {
// Genre
Genre string `json:"genre"`
}
}
BooksListRequest
type BooksListResponseMessage ¶
type BooksListResponseMessage struct {
// Headers will be used to fill the message headers
Headers struct {
// Correlation ID set by client on corresponding request
CorrelationId string `json:"correlation_id"`
}
// Payload will be inserted in the message payload
Payload struct {
// Books list
Books []Book `json:"books"`
}
}
BooksListResponse
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 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
NewClientController links the client to the broker
func (*ClientController) Close ¶
func (cc *ClientController) Close()
Close will clean up any existing resources on the controller
func (*ClientController) PublishBooksListRequest ¶
func (cc *ClientController) PublishBooksListRequest(msg BooksListRequestMessage) error
PublishBooksListRequest will publish messages to 'books.list.request' channel
func (*ClientController) SubscribeAll ¶
func (cc *ClientController) SubscribeAll(cs ClientSubscriber) error
SubscribeAll will subscribe to channels on which the client is expecting messages
func (*ClientController) SubscribeBooksListResponse ¶
func (cc *ClientController) SubscribeBooksListResponse(fn func(msg BooksListResponseMessage)) error
SubscribeBooksListResponse will subscribe to new messages from 'books.list.response' channel
func (*ClientController) UnsubscribeAll ¶
func (cc *ClientController) UnsubscribeAll()
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*ClientController) UnsubscribeBooksListResponse ¶
func (cc *ClientController) UnsubscribeBooksListResponse()
UnsubscribeBooksListResponse will unsubscribe messages from 'books.list.response' channel
type ClientSubscriber ¶
type ClientSubscriber interface {
// BooksListResponse
BooksListResponse(msg BooksListResponseMessage)
}
ClientSubscriber represents all application handlers that are expecting messages from application
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