asyncapi

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: 3 Imported by: 0

Documentation

Overview

Package "asyncapi" 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 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) PublishUserSignedin

func (ac *AppController) PublishUserSignedin(msg UserSignedinMessage) error

PublishUserSignedin will publish messages to 'user/signedin' channel

func (*AppController) PublishUserSignedup

func (ac *AppController) PublishUserSignedup(msg UserSignedUpExtraWordingMessage) error

PublishUserSignedup will publish messages to 'user/signedup' 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) SubscribeUserDelete

func (ac *AppController) SubscribeUserDelete(fn func(msg UserDeleteMessage)) error

SubscribeUserDelete will subscribe to new messages from 'user/delete' channel

func (*AppController) SubscribeUserModify

func (ac *AppController) SubscribeUserModify(fn func(msg UserModifyExtraWordingMessage)) error

func (*AppController) UnsubscribeAll

func (ac *AppController) UnsubscribeAll()

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*AppController) UnsubscribeUserDelete

func (ac *AppController) UnsubscribeUserDelete()

UnsubscribeUserDelete will unsubscribe messages from 'user/delete' channel

func (*AppController) UnsubscribeUserModify

func (ac *AppController) UnsubscribeUserModify()

UnsubscribeUserModify will unsubscribe messages from 'user/modify' channel

type AppSubscriber

type AppSubscriber interface {
	// UserDelete
	UserDelete(msg UserDeleteMessage)

	// UserModify
	UserModify(msg UserModifyExtraWordingMessage)
}

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 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) PublishUserDelete

func (cc *ClientController) PublishUserDelete(msg UserDeleteMessage) error

PublishUserDelete will publish messages to 'user/delete' channel

func (*ClientController) PublishUserModify

func (cc *ClientController) PublishUserModify(msg UserModifyExtraWordingMessage) error

PublishUserModify will publish messages to 'user/modify' 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) SubscribeUserSignedin

func (cc *ClientController) SubscribeUserSignedin(fn func(msg UserSignedinMessage)) error

SubscribeUserSignedin will subscribe to new messages from 'user/signedin' channel

func (*ClientController) SubscribeUserSignedup

func (cc *ClientController) SubscribeUserSignedup(fn func(msg UserSignedUpExtraWordingMessage)) error

SubscribeUserSignedup will subscribe to new messages from 'user/signedup' channel

func (*ClientController) UnsubscribeAll

func (cc *ClientController) UnsubscribeAll()

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*ClientController) UnsubscribeUserSignedin

func (cc *ClientController) UnsubscribeUserSignedin()

UnsubscribeUserSignedin will unsubscribe messages from 'user/signedin' channel

func (*ClientController) UnsubscribeUserSignedup

func (cc *ClientController) UnsubscribeUserSignedup()

UnsubscribeUserSignedup will unsubscribe messages from 'user/signedup' channel

type ClientSubscriber

type ClientSubscriber interface {
	// UserSignedin
	UserSignedin(msg UserSignedinMessage)

	// UserSignedup
	UserSignedup(msg UserSignedUpExtraWordingMessage)
}

ClientSubscriber represents all application handlers that are expecting messages from application

type Limit

type Limit int32

Limit

type Number

type Number float64

Number

type Number32

type Number32 float32

Number32

type Number64

type Number64 float64

Number64

type SchemaStruct

type SchemaStruct string

SchemaStruct

type Total

type Total int64

Total

type UniversalMessage

type UniversalMessage struct {
	CorrelationId string
	Payload       []byte
}

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

type UserDeleteMessage

type UserDeleteMessage struct {
	// Payload will be inserted in the message payload
	Payload int64
}

UserDelete

type UserModifyExtraWordingMessage

type UserModifyExtraWordingMessage struct {
	// Payload will be inserted in the message payload
	Payload struct {
		// Name
		Name string `json:"name"`
	}
}

UserModifyExtraWording

type UserSignedUpExtraWording

type UserSignedUpExtraWording string

UserSignedUpExtraWording

type UserSignedUpExtraWordingMessage

type UserSignedUpExtraWordingMessage struct {
	// Headers will be used to fill the message headers
	Headers struct {
		// CorrelationId
		CorrelationId string `json:"correlation_id"`
	}

	// Payload will be inserted in the message payload
	Payload struct {
		// Name of the user
		DisplayName string `json:"display_name"`

		// Email of the user
		Email string `json:"email"`

		// Schema
		Schema SchemaStruct `json:"schema"`
	}
}

UserSignedUpExtraWording

type UserSignedinMessage

type UserSignedinMessage struct {
	// Payload will be inserted in the message payload
	Payload int64
}

UserSignedin

Jump to

Keyboard shortcuts

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