generated

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2023 License: Apache-2.0 Imports: 4 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

This section is empty.

Functions

This section is empty.

Types

type Book

type Book struct {
	// Title
	Title string `json:"title"`
}

Book Information

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

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