event/abstract/IEvent.go
2024-06-25 16:03:45 +08:00

83 lines
2.1 KiB
Go

// Package abstract ...
//
// Description : abstract ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-03-11 12:02
package abstract
import (
"context"
"git.zhangdeman.cn/zhangdeman/event/define"
)
// IEvent 事件接口定义
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 19:08 2023/8/14
type IEvent interface {
// Construct 初始化事件实例
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:04 2024/3/11
Construct() error
// SendEvent 发送事件(同步)
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:04 2024/3/11
SendEvent(ctx context.Context, eventData *define.EventData) (*define.SendResult, error)
// SendEventAsync 发送事件(异步)
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:58 2024/6/25
SendEventAsync(ctx context.Context, eventData *define.EventData)
// SendFailCallback 发送失败的回调方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:08 2024/3/11
SendFailCallback(ctx context.Context, eventResult *define.SendResult)
// SendSuccessCallback 发送成功的回调
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:08 2024/3/11
SendSuccessCallback(ctx context.Context, eventResult *define.SendResult, err error)
// ConsumeEvent 消费事件
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:05 2024/3/11
ConsumeEvent() (<-chan *define.EventData, error)
// ConsumeFailCallback 消费失败的回调, eventData 可能为 NIL
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:09 2024/3/11
ConsumeFailCallback(eventData *define.EventData, err error)
// ConsumeSuccessCallback 消费成功的回调
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:10 2024/3/11
ConsumeSuccessCallback(eventData *define.EventData)
// Destroy 事件实例销毁时, 执行的方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:05 2024/3/11
Destroy()
// GetDriverType 获取驱动类型
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:06 2024/3/11
GetDriverType() string
}