modules

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2020 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DataBaseSetChanNum

func DataBaseSetChanNum(channum int) options

func DataBaseSetTimeout

func DataBaseSetTimeout(timeout time.Duration) options

设置超时时间(秒)

func GameServiceSetPTime

func GameServiceSetPTime(ptime time.Duration) servOptions

func GameServiceSetSID

func GameServiceSetSID(sid int) servOptions

func GameServiceSetStopHander

func GameServiceSetStopHander(handle func()) servOptions

func LogicSetChanNum

func LogicSetChanNum(channum int) options

设置通道缓存空间

func LogicSetTimeout

func LogicSetTimeout(timeout time.Duration) options

设置超时时间(秒)

func NsqdSetChanNum

func NsqdSetChanNum(channum int) options

设置发消息出去的缓存大小

func NsqdSetLookup

func NsqdSetLookup(ports ...string) options

设置LOOKUP地址

func NsqdSetMaxInFlight

func NsqdSetMaxInFlight(v int) options

设置最多可以连接多少个NSQD

func NsqdSetMyChannelName

func NsqdSetMyChannelName(name string) options

设置本服务器监听的通道名

func NsqdSetMyTopic

func NsqdSetMyTopic(topic string) options

设置本服务器监听的主题

func NsqdSetPollInterval

func NsqdSetPollInterval(t time.Duration) options

设置去lOOKup请求的最小时间间隔(秒)

func NsqdSetPorts

func NsqdSetPorts(ports ...string) options

设置NSQD地址

func NsqdSetRoute

func NsqdSetRoute(route messages.IMessageHandle) options

设置路由

func SocketCliSetConnName

func SocketCliSetConnName(name string) options

这个连接的名字,比如这个连接的目标是什么就叫什么

func SocketCliSetPort

func SocketCliSetPort(ipport string) options

func SocketCliSetRoute

func SocketCliSetRoute(route messages.IMessageHandle) options

设置路由

func SocketSetPort

func SocketSetPort(ipport string) options

func SocketSetRoute

func SocketSetRoute(route messages.IMessageHandle) options

设置路由

func SocketSetTimeout

func SocketSetTimeout(timeout time.Duration) options

超时时间(秒) 例:超时时间为10秒时,就传入10

func WebSetIpPort

func WebSetIpPort(ipPort string) options

设置Web地址

func WebSetRoute

func WebSetRoute(route messages.IMessageHandle) options

设置路由

func WebSetTimeout

func WebSetTimeout(timeout time.Duration) options

设置超时时间(秒)

func WebSetTimeoutFunc

func WebSetTimeoutFunc(timeoutfunc func(webmsg messages.IHttpMessageHandle,
	w http.ResponseWriter, req *http.Request)) options

设置超时回调方法

func WebSocketSetFrame added in v1.2.4

func WebSocketSetFrame(frame byte) options

设置Frame websocket.XXXFrame default websocket.BinaryFrame

func WebSocketSetIpPort

func WebSocketSetIpPort(ipPort string) options

func WebSocketSetOnlineFun added in v1.2.3

func WebSocketSetOnlineFun(fun func(conn *messages.WebSocketModel)) options

连接成功后回调,可以用来获取一些连接的信息,比如IP

func WebSocketSetRoute

func WebSocketSetRoute(route messages.IMessageHandle) options

设置路由

func WebSocketSetTimeout

func WebSocketSetTimeout(timeout time.Duration) options

超时时间(秒) 例:超时时间为10秒时,就传入10

Types

type AutoTaskModel

type AutoTaskModel struct {
	Handle func(ctx context.Context) //需要实现这个方法
	// contains filtered or unexported fields
}

func (*AutoTaskModel) GetTaskName

func (task *AutoTaskModel) GetTaskName() string

任务名字(唯一性)需要重载更新这个名字

func (*AutoTaskModel) Start

func (task *AutoTaskModel) Start(mod *AutoTaskModule)

开始任务

func (*AutoTaskModel) Stop

func (task *AutoTaskModel) Stop()

结束任务

type AutoTaskModule

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

func NewAutoTaskModule

func NewAutoTaskModule(opts ...options) *AutoTaskModule

func (*AutoTaskModule) AddTask

func (mod *AutoTaskModule) AddTask(task IAutoTaskModel) bool

添加新任务,如果任务已存在,就返回false

func (*AutoTaskModule) DelRask

func (mod *AutoTaskModule) DelRask(name string) bool

停止指定任务

func (*AutoTaskModule) Init

func (mod *AutoTaskModule) Init()

Init 初始化

func (*AutoTaskModule) PrintStatus

func (mod *AutoTaskModule) PrintStatus() string

PrintStatus 打印状态

func (*AutoTaskModule) ReTask

func (mod *AutoTaskModule) ReTask(task IAutoTaskModel) bool

添加新任务,如果任务已存在,就把旧的给关掉

func (*AutoTaskModule) Start

func (mod *AutoTaskModule) Start()

Start 启动

func (*AutoTaskModule) Stop

func (mod *AutoTaskModule) Stop()

Stop 停止

type DataBaseModule

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

func NewDataBaseModule

func NewDataBaseModule(conndb *sql.DB, opts ...options) *DataBaseModule

func (*DataBaseModule) AddMsg

func (mod *DataBaseModule) AddMsg(msgs ...messages.IDataBaseMessage)

func (*DataBaseModule) Handle

func (mod *DataBaseModule) Handle(ctx context.Context)

func (*DataBaseModule) Init

func (mod *DataBaseModule) Init()

Init 初始化

func (*DataBaseModule) PrintStatus

func (mod *DataBaseModule) PrintStatus() string

PrintStatus 打印状态

func (*DataBaseModule) Start

func (mod *DataBaseModule) Start()

Start 启动

func (*DataBaseModule) Stop

func (mod *DataBaseModule) Stop()

Stop 停止

type GameService

type GameService struct {
	ServiceID   int           //游戏服务器ID
	PStatusTime time.Duration //打印状态的时间(秒)

	ServiceStopHander  func() //当服务器被关掉的时候,先调用的方法
	ServiceStartHander func() //当服务器所有服务都启动后,先调用的方法
	// contains filtered or unexported fields
}

func NewGameService

func NewGameService(opts ...servOptions) *GameService

func (*GameService) AddModule

func (gs *GameService) AddModule(mds ...IModule)

AddModule 给这个管理器,加新的模块

func (*GameService) GetIsRun

func (gs *GameService) GetIsRun() bool

GetIsRun 我们游戏是不是还在运行着,如果为false表示我们服务器正在关闭中

func (*GameService) Run

func (gs *GameService) Run()

Run 运行游戏

type IAutoTaskModel

type IAutoTaskModel interface {
	//任务名字(唯一性)
	GetTaskName() string
	//开始任务
	Start(mod *AutoTaskModule)
	//结束任务
	Stop()
}

循环任务接口 使用AddTask添加到module中时,如果任务以存在就不做任何事 使用ReTask添加到module中时,如果任务已存在就会先把之前的停下来,再把自己添加到管理器中

type IModule

type IModule interface {
	//Init 初始化
	Init()
	//Start 启动
	Start()
	//Stop 停止
	Stop()
	//PrintStatus 打印状态
	PrintStatus() string
}

IModule 模块接口

type LogicModule

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

func NewLogicModule

func NewLogicModule(opts ...options) *LogicModule

func (*LogicModule) AddMsg

func (mod *LogicModule) AddMsg(logicmd messages.ILogicMessage)

AddMsg 发消息给逻辑协程处理

func (*LogicModule) Handle added in v1.2.3

func (mod *LogicModule) Handle(ctx context.Context)

func (*LogicModule) Init

func (mod *LogicModule) Init()

func (*LogicModule) PrintStatus

func (mod *LogicModule) PrintStatus() string

PrintStatus IModule 接口实现,打印状态

func (*LogicModule) Start

func (mod *LogicModule) Start()

func (*LogicModule) Stop

func (mod *LogicModule) Stop()

type NsqdModule

type NsqdModule struct {
	Topic       string                  //本服务器监听的主题
	ChannelName string                  //本服务器监听的通道名
	RouteHandle messages.IMessageHandle //消息路由
	// contains filtered or unexported fields
}

func NewNsqdModule

func NewNsqdModule(opts ...options) *NsqdModule

func (*NsqdModule) AddMsg

func (mod *NsqdModule) AddMsg(msg messages.INsqdResultMessage) bool

AddMsg 发送消息出去

func (*NsqdModule) AddMsgSync

func (mod *NsqdModule) AddMsgSync(msg messages.INsqdResultMessage) error

AddMsgSync 同步发消息出去

func (*NsqdModule) Handle

func (mod *NsqdModule) Handle(ctx context.Context)

func (*NsqdModule) HandleMessage

func (mod *NsqdModule) HandleMessage(message *nsq.Message) (err error)

nsq.Handler的接口 收nsqd的消息

func (*NsqdModule) Init

func (mod *NsqdModule) Init()

Init 初始化

func (*NsqdModule) PingNsq

func (mod *NsqdModule) PingNsq(ctx context.Context) bool

func (*NsqdModule) PrintStatus

func (mod *NsqdModule) PrintStatus() string

PrintStatus 打印状态

func (*NsqdModule) Start

func (mod *NsqdModule) Start()

Start 启动

func (*NsqdModule) Stop

func (mod *NsqdModule) Stop()

Stop 停止

type SocketCliModule

type SocketCliModule struct {
	ConInfo  interface{} //自定义的连接信息,给上层逻辑使用
	ConnName string      //连接名字

	RouteHandle messages.IMessageHandle //消息路由
	// contains filtered or unexported fields
}

func NewSocketCliModule

func NewSocketCliModule(opts ...options) *SocketCliModule

func (*SocketCliModule) AddMsgSyn

func (mod *SocketCliModule) AddMsgSyn(msg messages.IMessage) error

同步写入消息

func (*SocketCliModule) AddMsgSynByGate added in v1.3.0

func (mod *SocketCliModule) AddMsgSynByGate(gate messages.IGateMessage, msg interface{}) error

同步写入网关的消息

func (*SocketCliModule) Init

func (mod *SocketCliModule) Init()

Init 初始化

func (*SocketCliModule) PrintStatus

func (mod *SocketCliModule) PrintStatus() string

PrintStatus 打印状态

func (*SocketCliModule) Start

func (mod *SocketCliModule) Start()

Start 启动

func (*SocketCliModule) Stop

func (mod *SocketCliModule) Stop()

Stop 停止

type SocketModule

type SocketModule struct {
	RouteHandle messages.IMessageHandle //消息路由
	// contains filtered or unexported fields
}

func NewSocketModule

func NewSocketModule(opts ...options) *SocketModule

func (*SocketModule) Init

func (mod *SocketModule) Init()

Init 初始化

func (*SocketModule) PrintStatus

func (mod *SocketModule) PrintStatus() string

PrintStatus 打印状态

func (*SocketModule) Start

func (mod *SocketModule) Start()

Start 启动

func (*SocketModule) Stop

func (mod *SocketModule) Stop()

Stop 停止

type WebModule

type WebModule struct {
	RouteHandle messages.IMessageHandle //消息路由
	// contains filtered or unexported fields
}

func NewWebModule

func NewWebModule(opts ...options) *WebModule

func (*WebModule) Handle

func (mod *WebModule) Handle(w http.ResponseWriter, req *http.Request)

Handle http发来的所有请求都会到这个方法来

func (*WebModule) Init

func (mod *WebModule) Init()

Init 初始化

func (*WebModule) PrintStatus

func (mod *WebModule) PrintStatus() string

PrintStatus 打印状态

func (*WebModule) Start

func (mod *WebModule) Start()

Start 启动

func (*WebModule) Stop

func (mod *WebModule) Stop()

Stop 停止

type WebSocketModule

type WebSocketModule struct {
	RouteHandle messages.IMessageHandle //消息路由
	// contains filtered or unexported fields
}

func NewWebSocketModule

func NewWebSocketModule(opts ...options) *WebSocketModule

func (*WebSocketModule) GetPlayerNum

func (mod *WebSocketModule) GetPlayerNum() int64

GetPlayerNum用户连接数量

func (*WebSocketModule) Handle

func (mod *WebSocketModule) Handle(conn *websocket.Conn)

Handle http发来的所有请求都会到这个方法来

func (*WebSocketModule) Init

func (mod *WebSocketModule) Init()

Init 初始化

func (*WebSocketModule) PrintStatus

func (mod *WebSocketModule) PrintStatus() string

PrintStatus 打印状态

func (*WebSocketModule) Start

func (mod *WebSocketModule) Start()

Start 启动

func (*WebSocketModule) Stop

func (mod *WebSocketModule) Stop()

Stop 停止

Jump to

Keyboard shortcuts

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