context

package
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2023 License: Apache-2.0 Imports: 9 Imported by: 101

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddModule

func AddModule(module *common.ModuleInfo)

AddModule adds module into module context

func AddModuleGroup

func AddModuleGroup(module, group string)

AddModuleGroup adds module into module context group

func Cancel

func Cancel()

Cancel function

func Cleanup

func Cleanup(module string)

Cleanup cleans up module

func Done

func Done() <-chan struct{}

func GetContext

func GetContext() gocontext.Context

func InitContext

func InitContext(contextTypes []string)

InitContext gets global context instance

func Receive

func Receive(module string) (model.Message, error)

Receive the message module : local module name

func Send

func Send(module string, message model.Message)

Send the message

func SendResp

func SendResp(resp model.Message)

SendResp sends response please get resp message using model.NewRespByMessage

func SendSync

func SendSync(module string,
	message model.Message, timeout time.Duration) (model.Message, error)

SendSync sends message in sync mode module: the destination of the message timeout: if <= 0 using default value(30s)

func SendToGroup

func SendToGroup(group string, message model.Message)

SendToGroup broadcasts the message to all of group members

func SendToGroupSync added in v1.9.3

func SendToGroupSync(group string, message model.Message, timeout time.Duration) error

SendToGroupSync broadcasts the message to all of group members in sync mode

Types

type GlobalContext added in v1.9.3

type GlobalContext struct {
	// contains filtered or unexported fields
}

GlobalContext is global context: only use for local cache to dispatch message

type MessageContext

type MessageContext interface {
	// async mode
	Send(module string, message model.Message)
	Receive(module string) (model.Message, error)
	// sync mode
	SendSync(module string, message model.Message, timeout time.Duration) (model.Message, error)
	SendResp(message model.Message)
	// group broadcast
	SendToGroup(group string, message model.Message)
	SendToGroupSync(group string, message model.Message, timeout time.Duration) error
}

MessageContext is interface for message syncing

type ModuleContext

type ModuleContext interface {
	AddModule(info *common.ModuleInfo)
	AddModuleGroup(module, group string)
	Cleanup(module string)
}

ModuleContext is interface for context module management

Jump to

Keyboard shortcuts

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