signal

package
v0.0.0-...-5fa8bf8 Latest Latest
Warning

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

Go to latest
Published: May 18, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CbToIdx

func CbToIdx[DATA any](cb func(data DATA)) string

func ExistSignalName

func ExistSignalName(name string) bool

func GetGSig

func GetGSig() map[string]interface{}

线程不安全。访问请加锁。

func RegisterSig

func RegisterSig[DATA any](sig Signal[DATA])

Types

type AsyncSignalImpl

type AsyncSignalImpl[DATA any] struct {
	// contains filtered or unexported fields
}

func NewAsyncSignalImpl

func NewAsyncSignalImpl[DATA any](name string) AsyncSignalImpl[DATA]

func (AsyncSignalImpl[DATA]) Connect

func (self AsyncSignalImpl[DATA]) Connect(cb func(data DATA)) bool

Connect cb在一个goroutine上依次调用,没有数据竞争。所以cb不要写阻塞代码。

func (AsyncSignalImpl[DATA]) Disconnect

func (self AsyncSignalImpl[DATA]) Disconnect(cb func(data DATA)) bool

Disconnect 返回值:操作是否成功

func (AsyncSignalImpl[DATA]) Emit

func (self AsyncSignalImpl[DATA]) Emit(data DATA)

Emit 不会阻塞, 用Promise Then串起来了, 同时能够保持data调用的顺序。

func (AsyncSignalImpl[DATA]) GetName

func (self AsyncSignalImpl[DATA]) GetName() string

type ChanCancel

type ChanCancel = chan int

type EagerSignalImpl

type EagerSignalImpl[DATA any] struct {
	// contains filtered or unexported fields
}

func (*EagerSignalImpl[DATA]) Connect

func (self *EagerSignalImpl[DATA]) Connect(cb func(data DATA)) bool

func (*EagerSignalImpl[DATA]) Disconnect

func (self *EagerSignalImpl[DATA]) Disconnect(cb *func(data DATA)) bool

返回值:操作是否成功

func (*EagerSignalImpl[DATA]) Emit

func (self *EagerSignalImpl[DATA]) Emit(data DATA)

type Signal

type Signal[DATA any] interface {
	GetName() string
	Connect(cb func(data DATA)) bool
	Disconnect(cb func(data DATA)) bool
	Emit(data DATA)
}

信号。实例代表某种信号。可以注册或者卸载lambda函数。

func GetSignalByName

func GetSignalByName[DATA any](name string) Signal[DATA]

type Val

type Val[DATA any] struct {
	// contains filtered or unexported fields
}

func NewVal

func NewVal[DATA any]() Val[DATA]

Jump to

Keyboard shortcuts

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