generated

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

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

View Source
const (
	// CorrelationIDField is the name of the field that will contain the correlation ID
	CorrelationIDField = "correlation_id"
)

Variables

View Source
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

type UniversalMessage struct {
	CorrelationID string
	Payload       []byte
}

UniversalMessage is a wrapper that will contain all information regarding a message

Jump to

Keyboard shortcuts

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