listener

package
v1.3.3 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2022 License: Apache-2.0 Imports: 0 Imported by: 2

README

listener

listener包:是isc-gobase的事件监听模块

用法

提供api

// 添加事件监听器
listener.AddListener(eventName string, eventListener EventListener)

// 发布事件
listener.PublishEvent(event listener.BaseEvent)

快速使用

1. 定义事件

事件要实现接口 listener.BaseEvent 的方法

type Event1 struct {
    Company string
}

func (e1 Event1) Name() string {
    return "event1"
}
import (
    "fmt"
    "github.com/isyscore/isc-gobase/listener"
    "testing"
)

func TestPublish(t *testing.T) {
    listener.AddListener("event1", Event1Lister1)
    listener.AddListener("event1", Event1Lister2)
    listener.AddListener("event1", Event1Lister3)

    listener.PublishEvent(Event1{Company: "公司"})
}

// 事件监听器1
func Event1Lister1(event listener.BaseEvent) {
    ev := event.(Event1)
    fmt.Println("Event1Lister1: " + ev.Company)
}

// 事件监听器2
func Event1Lister2(event listener.BaseEvent) {
    ev := event.(Event1)
    fmt.Println("Event1Lister2: " + ev.Company)
}

// 事件监听器3
func Event1Lister3(event listener.BaseEvent) {
    ev := event.(Event1)
    fmt.Println("Event1Lister3: " + ev.Company)
}

内置监听器

isc-gobase内置了几类事件

  • ServerPostEvent: 服务启动完成事件
  • ServerFinishEvent: 服务关闭事件

常用示例:

// 添加服务器启动完成事件监听
listener.AddListener(listener.EventOfServerFinish, func(event listener.BaseEvent) {
    logger.Info("应用启动完成")
})

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EventOfConfigChange = "event_of_config_change"
View Source
var EventOfServerRunFinish = "event_of_server_run_finish"
View Source
var EventOfServerRunStart = "event_of_server_run_start"
View Source
var EventOfServerStop = "event_of_server_stop"

Functions

func AddListener

func AddListener(eventName string, eventListener EventListener)

func PublishEvent

func PublishEvent(event BaseEvent)

Types

type BaseEvent

type BaseEvent interface {
	Name() string
}

type ConfigChangeEvent added in v1.1.1

type ConfigChangeEvent struct {
	Key   string
	Value string
}

ConfigChangeEvent 配置变更事件, 对应:event_of_config_change

func (ConfigChangeEvent) Name added in v1.1.1

func (e ConfigChangeEvent) Name() string

type EventListener

type EventListener func(event BaseEvent)

type ServerRunFinishEvent added in v1.3.0

type ServerRunFinishEvent struct{}

ServerRunFinishEvent 服务完成启动事件, 对应:event_of_server_run_finish

func (ServerRunFinishEvent) Name added in v1.3.0

func (e ServerRunFinishEvent) Name() string

type ServerRunStartEvent added in v1.3.0

type ServerRunStartEvent struct{}

ServerRunStartEvent 服务开始启动事件, 对应:event_of_server_run_start

func (ServerRunStartEvent) Name added in v1.3.0

func (e ServerRunStartEvent) Name() string

type ServerStopEvent

type ServerStopEvent struct{}

ServerStopEvent 服务关闭事件, 对应:event_of_server_stop

func (ServerStopEvent) Name

func (e ServerStopEvent) Name() string

Jump to

Keyboard shortcuts

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