server

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseRouter

type BaseRouter struct {
}

设定基础路由,业务路由继承此路由

func (*BaseRouter) Handle

func (s *BaseRouter) Handle(request *Request)

业务处理方法

func (*BaseRouter) PostHandle

func (s *BaseRouter) PostHandle(request *Request)

后置方法

func (*BaseRouter) PreHandle

func (s *BaseRouter) PreHandle(request *Request)

前置方法

type CONNECTRouter

type CONNECTRouter struct {
	*BaseRouter
}

func (*CONNECTRouter) Handle

func (s *CONNECTRouter) Handle(request *Request)

业务处理方法

type Conn

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

type ConnManager

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

type ConnectVerifyFUNC

type ConnectVerifyFUNC func(*proto.CONNECTProtocol) uint8

定义一个方法别名,本方法在连接时候使用,仅使用一次

type DISCONNECTRouter

type DISCONNECTRouter struct {
	*BaseRouter
}

默认的断开链接路由器

func (*DISCONNECTRouter) Handle

func (s *DISCONNECTRouter) Handle(request *Request)

默认断开路由方法

type GHapi

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

func NewGHapi

func NewGHapi() *GHapi

func (*GHapi) AddRouter

func (s *GHapi) AddRouter(i uint8, router ImplBaseRouter)

注册路由

func (*GHapi) GetConnList

func (s *GHapi) GetConnList() *types.Response

获取链接列表

func (*GHapi) GetTopList

func (s *GHapi) GetTopList() *types.Response

获取订阅主题列表

func (*GHapi) Run

func (s *GHapi) Run()

启动服务

func (*GHapi) SendPublish

func (s *GHapi) SendPublish(msg *types.PublishMsg) *types.Response

管理服务端 直接发布信息,不能发布保留信息(保留信息使用接口 SetRetainMsg) 创造协议 管理方发布的信息直接发布,不用进入 topicmananger 的协程池

func (*GHapi) ServerInfo

func (s *GHapi) ServerInfo() *types.Response

对http服务和管理者客户端暴露的接口,返回值都是结构体

func (*GHapi) SetConnectVerify

func (s *GHapi) SetConnectVerify(cvf ConnectVerifyFUNC)

注册链接验证

func (*GHapi) SetRetainMsg

func (s *GHapi) SetRetainMsg(msg *types.PublishMsg) *types.Response

设置保留消息

func (*GHapi) Stop

func (s *GHapi) Stop()

停止服务

type ImplBaseRouter

type ImplBaseRouter interface {
	//
	PreHandle(request *Request)
	Handle(request *Request)
	PostHandle(request *Request)
}

type MqttDataPack

type MqttDataPack struct {
}

先解包 固定报头, 然后根据固定报头获取协议类型,再分别执行不同协议的解包方法

type PINGREQRouter

type PINGREQRouter struct {
	*BaseRouter
}

默认心跳协议路由

func (*PINGREQRouter) Handle

func (s *PINGREQRouter) Handle(request *Request)

默认断开路由方法

type PUBACKRouter

type PUBACKRouter struct {
	*BaseRouter
}

默认 发布消息响应

func (*PUBACKRouter) Handle

func (s *PUBACKRouter) Handle(request *Request)

业务方可以解析 标识符合发布的标识符对应

type PUBCOMPRouter

type PUBCOMPRouter struct {
	*BaseRouter
}

默认

func (*PUBCOMPRouter) Handle

func (s *PUBCOMPRouter) Handle(request *Request)

业务方可以解析 标识符合发布的标识符对应

type PUBLISHRouter

type PUBLISHRouter struct {
	*BaseRouter
}

默认 发布协议

func (*PUBLISHRouter) Handle

func (s *PUBLISHRouter) Handle(request *Request)

type PUBRECRouter

type PUBRECRouter struct {
	*BaseRouter
}

默认

func (*PUBRECRouter) Handle

func (s *PUBRECRouter) Handle(request *Request)

业务方可以解析 标识符合发布的标识符对应

返回 PUBRELProtocol

type PUBRELRouter

type PUBRELRouter struct {
	*BaseRouter
}

默认 释放消息协议

func (*PUBRELRouter) Handle

func (s *PUBRELRouter) Handle(request *Request)

1, 移出 QosID 2,返回响应

type Request

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

服务-链接-请求,请求是主要的操作入口,

func (*Request) ConnStop

func (s *Request) ConnStop()

func (*Request) GetConnClientID

func (s *Request) GetConnClientID() string

func (*Request) GetProto

func (s *Request) GetProto() proto.ImplMqttProto

func (*Request) GetQos2ID

func (s *Request) GetQos2ID(id uint16) bool

func (*Request) MsgInPool

func (s *Request) MsgInPool(sp *proto.PUBLISHProtocol)

func (*Request) RemoveQos2ID

func (s *Request) RemoveQos2ID(id uint16)

func (*Request) SendRES

func (s *Request) SendRES(p proto.ImplMqttProto) error

func (*Request) SetQos2ID

func (s *Request) SetQos2ID(id uint16)

func (*Request) SetRetainMsg

func (s *Request) SetRetainMsg(name string, payload []byte)

优化后的 保存保留消息

func (*Request) SubTopic

func (s *Request) SubTopic(top string)

优化后的 订阅方法路径

func (*Request) UnSubTopic

func (s *Request) UnSubTopic(top string)

优化后的 取消订阅方法路径

type RouterManager

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

每种协议,都有对应的路由处理 每种协议,可以设置 前置中间件,路由业务,后置中间件

根据发布和订阅主题不同,这个业务在业务层处理,不在基础服务层

type SUBSCRIBERouter

type SUBSCRIBERouter struct {
	*BaseRouter
}

默认订阅协议路由

func (*SUBSCRIBERouter) Handle

func (s *SUBSCRIBERouter) Handle(request *Request)

type Server

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

type TopicManager

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

主题管理对象 在配置中选择使用

type TopicWork

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

type UNSUBSCRIBERouter

type UNSUBSCRIBERouter struct {
	*BaseRouter
}

默认 取消订阅协议路由

func (*UNSUBSCRIBERouter) Handle

func (s *UNSUBSCRIBERouter) Handle(request *Request)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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