extend

package
v0.0.0-...-3458964 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	Type    string                 // 管理器处理的插件类型的id
	Glob    string                 // 全局的插件文件名
	Path    string                 // 插件路径
	Plugins map[string]*PluginInfo // 插件信息列表
	// contains filtered or unexported fields
}

Manager 为不同类型的插件,管理的生命周期

func NewManager

func NewManager(ptype, glob, dir string, rpcPluginImpl plugin.Plugin, grpcPluginImpl plugin.Plugin) *Manager

func PluginLoad

func PluginLoad(pluginPath string) (pm *Manager, err error)

加载单个协议插件

func (*Manager) Dispose

func (m *Manager) Dispose()

func (*Manager) GetInterface

func (m *Manager) GetInterface(id string) (interface{}, string, error)

func (*Manager) Init

func (m *Manager) Init() error

func (*Manager) Launch

func (m *Manager) Launch() error

func (*Manager) LaunchPlugin

func (m *Manager) LaunchPlugin(p string) error

type PluginInfo

type PluginInfo struct {
	ID       string
	Path     string
	Protocol string
	Client   *plugin.Client
}

type SysPlugin

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

func GetNoticePlugin

func GetNoticePlugin() *SysPlugin

GetNoticePlugin 构造方法

func GetProtocolPlugin

func GetProtocolPlugin() *SysPlugin

GetProtocolPlugin 构造方法

func (*SysPlugin) GetNoticeByName

func (pm *SysPlugin) GetNoticeByName(noticeName string) (obj module.Notice, err error)

GetNoticeByName 获取指定通知名称的插件

func (*SysPlugin) GetProtocolByName

func (pm *SysPlugin) GetProtocolByName(protocolName string) (obj interface{}, err error)

GetProtocolByName 获取指定协议名称的插件

func (*SysPlugin) GetProtocolInfo

func (pm *SysPlugin) GetProtocolInfo(protocolType string, data string) (res model.PluginInfo, err error)

func (*SysPlugin) GetProtocolPlugin deprecated

func (pm *SysPlugin) GetProtocolPlugin(protocolName string) (obj interface{}, err error)

Deprecated: GetProtocolPlugin 这个方法已经废弃,不建议使用。请使用GetProtocolByName

func (*SysPlugin) GetProtocolUnpackData

func (pm *SysPlugin) GetProtocolUnpackData(protocolType string, data []byte) (res model.JsonRes, err error)

GetProtocolUnpackData 通过协议解析插件处理后,获取解析数据。protocolType 为协议名称 todo 需要标记数据协议子类型

func (*SysPlugin) GetProtocolUnpackData1

func (pm *SysPlugin) GetProtocolUnpackData1(protocolType string, data string) (res model.JsonRes, err error)

func (*SysPlugin) GetProtocolValue

func (pm *SysPlugin) GetProtocolValue(protocolType string) (res model.JsonRes, err error)

func (*SysPlugin) NoticeSend

func (pm *SysPlugin) NoticeSend(noticeName string, msg model.NoticeInfoData) (res string, err error)

NoticeSend 通过插件发送通知信息。noticeName 为通知插件名称;msg为通知内容

func (*SysPlugin) PutProtocolValue

func (pm *SysPlugin) PutProtocolValue(protocolType string, data string) (res model.JsonRes, err error)

Directories

Path Synopsis
consts
rpc

Jump to

Keyboard shortcuts

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