oneof

package
v0.19.3 Latest Latest
Warning

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

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

Documentation

Overview

Package "oneof" provides primitives to interact with the AsyncAPI specification.

Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	// Generic error for AsyncAPI generated code
	ErrAsyncAPI = errors.New("error when using AsyncAPI")

	// ErrContextCanceled is given when a given context is canceled
	ErrContextCanceled = fmt.Errorf("%w: context canceled", ErrAsyncAPI)

	// ErrNilBrokerController is raised when a nil broker controller is user
	ErrNilBrokerController = fmt.Errorf("%w: nil broker controller has been used", ErrAsyncAPI)

	// ErrNilAppSubscriber is raised when a nil app subscriber is user
	ErrNilAppSubscriber = fmt.Errorf("%w: nil app subscriber has been used", ErrAsyncAPI)

	// ErrNilClientSubscriber is raised when a nil client subscriber is user
	ErrNilClientSubscriber = fmt.Errorf("%w: nil client subscriber has been used", ErrAsyncAPI)

	// ErrAlreadySubscribedChannel is raised when a subscription is done twice
	// or more without unsubscribing
	ErrAlreadySubscribedChannel = fmt.Errorf("%w: the channel has already been subscribed", ErrAsyncAPI)

	// ErrSubscriptionCanceled is raised when expecting something and the subscription has been canceled before it happens
	ErrSubscriptionCanceled = fmt.Errorf("%w: the subscription has been canceled", 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(bc extensions.BrokerController) (*AppController, error)

NewAppController links the App to the broker

func (*AppController) AddMiddlewares added in v0.17.0

func (c *AppController) AddMiddlewares(middleware ...extensions.Middleware)

AddMiddlewares attaches middlewares that will be executed when sending or receiving messages

func (*AppController) Close

func (c *AppController) Close(ctx context.Context)

Close will clean up any existing resources on the controller

func (*AppController) PublishTest2

func (c *AppController) PublishTest2(ctx context.Context, msg Test2Message) error

PublishTest2 will publish messages to 'test2' channel

func (*AppController) SetLogger added in v0.15.0

func (c *AppController) SetLogger(logger extensions.Logger)

SetLogger attaches a logger that will log operations on controller

func (*AppController) SubscribeAll

func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) error

SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.

func (*AppController) SubscribeTest

func (c *AppController) SubscribeTest(ctx context.Context, fn func(ctx context.Context, msg TestMessagesMessage, done bool)) error

SubscribeTest will subscribe to new messages from 'test' channel.

Callback function 'fn' will be called each time a new message is received. The 'done' argument indicates when the subscription is canceled and can be used to clean up resources.

func (*AppController) UnsubscribeAll

func (c *AppController) UnsubscribeAll(ctx context.Context)

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*AppController) UnsubscribeTest

func (c *AppController) UnsubscribeTest(ctx context.Context)

UnsubscribeTest will unsubscribe messages from 'test' channel

type AppSubscriber

type AppSubscriber interface {
	// Test
	Test(ctx context.Context, msg TestMessagesMessage, done bool)
}

AppSubscriber represents all handlers that are expecting messages for App

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(bc extensions.BrokerController) (*ClientController, error)

NewClientController links the Client to the broker

func (*ClientController) AddMiddlewares added in v0.17.0

func (c *ClientController) AddMiddlewares(middleware ...extensions.Middleware)

AddMiddlewares attaches middlewares that will be executed when sending or receiving messages

func (*ClientController) Close

func (c *ClientController) Close(ctx context.Context)

Close will clean up any existing resources on the controller

func (*ClientController) PublishTest

func (c *ClientController) PublishTest(ctx context.Context, msg TestMessagesMessage) error

PublishTest will publish messages to 'test' channel

func (*ClientController) SetLogger added in v0.15.0

func (c *ClientController) SetLogger(logger extensions.Logger)

SetLogger attaches a logger that will log operations on controller

func (*ClientController) SubscribeAll

func (c *ClientController) SubscribeAll(ctx context.Context, as ClientSubscriber) error

SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.

func (*ClientController) SubscribeTest2

func (c *ClientController) SubscribeTest2(ctx context.Context, fn func(ctx context.Context, msg Test2Message, done bool)) error

SubscribeTest2 will subscribe to new messages from 'test2' channel.

Callback function 'fn' will be called each time a new message is received. The 'done' argument indicates when the subscription is canceled and can be used to clean up resources.

func (*ClientController) UnsubscribeAll

func (c *ClientController) UnsubscribeAll(ctx context.Context)

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*ClientController) UnsubscribeTest2

func (c *ClientController) UnsubscribeTest2(ctx context.Context)

UnsubscribeTest2 will unsubscribe messages from 'test2' channel

type ClientSubscriber

type ClientSubscriber interface {
	// Test2
	Test2(ctx context.Context, msg Test2Message, done bool)
}

ClientSubscriber represents all handlers that are expecting messages for Client

type Error

type Error struct {
	Channel string
	Err     error
}

func (*Error) Error

func (e *Error) Error() string

type MessageWithCorrelationID

type MessageWithCorrelationID interface {
	CorrelationID() string
	SetCorrelationID(id string)
}

type ObjectWithKey2Schema

type ObjectWithKey2Schema struct {
	Key2 *string `json:"key2"`
}

ObjectWithKey2Schema is a schema from the AsyncAPI specification required in messages

type ObjectWithKeySchema

type ObjectWithKeySchema struct {
	Key *string `json:"key"`
}

ObjectWithKeySchema is a schema from the AsyncAPI specification required in messages

type Test2Message

type Test2Message struct {
	// Payload will be inserted in the message payload
	Payload struct {
		Key2 *string `json:"key2"`
	}
}

Test2Message is the message expected for 'Test2' channel

func NewTest2Message

func NewTest2Message() Test2Message

type TestMessage1Message

type TestMessage1Message struct {
	// Payload will be inserted in the message payload
	Payload ObjectWithKeySchema
}

TestMessage1Message is the message expected for 'TestMessage1' channel

func NewTestMessage1Message

func NewTestMessage1Message() TestMessage1Message

type TestMessage2Message

type TestMessage2Message struct {
	// Payload will be inserted in the message payload
	Payload ObjectWithKey2Schema
}

TestMessage2Message is the message expected for 'TestMessage2' channel

func NewTestMessage2Message

func NewTestMessage2Message() TestMessage2Message

type TestMessagesMessage

type TestMessagesMessage struct {
	// Payload will be inserted in the message payload
	Payload struct {
		Key  *string `json:"key"`
		Key2 *string `json:"key2"`
	}
}

TestMessagesMessage is the message expected for 'TestMessages' channel

func NewTestMessagesMessage

func NewTestMessagesMessage() TestMessagesMessage

Jump to

Keyboard shortcuts

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