cluster

package
v0.0.0-...-457ba4f Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

* User: cr-mao Date: 2023/8/19 03:39 Email: crmao@qq.com Desc: transport.go

Index

Constants

View Source
const (
	Gate = "gate" // 网关服
	Node = "node" // 节点服
)

集群实例类型

View Source
const (
	Shut = 0 // 关闭(节点已经关闭,无法正常访问该节点,默认就是关闭)
	Work = 1 // 工作(节点正常工作,可以分配更多玩家到该节点)
	Busy = 2 // 繁忙(节点资源紧张,不建议分配更多玩家到该节点上)暂时没用
	Hang = 3 // 挂起(节点即将关闭,正处于资源回收中)  暂时没用
)

State 集群实例状态, (不管啥状态,目前框架层面没有看状态,只要服务注册进去后,就可以被发现,请求分发 )

View Source
const (
	Connect    = 1 // 打开连接 , 暂时没用
	Reconnect  = 2 // 断线重连   node通知绑定网关,则
	Disconnect = 3 // 断开连接
)

Event 事件

Variables

View Source
var EventNames = map[int32]string{
	Connect:    "connect",
	Reconnect:  "reconnect",
	Disconnect: "disconnect",
}

Functions

This section is empty.

Types

type DeliverArgs

type DeliverArgs struct {
	GID     string
	NID     string
	CID     int64
	UID     int64
	Message *packet.Message
}

type GateClient

type GateClient interface {
	// Bind 绑定用户与连接
	Bind(ctx context.Context, cid, uid int64) (miss bool, err error)
	// Unbind 解绑用户与连接
	Unbind(ctx context.Context, uid int64) (miss bool, err error)
	// GetIP 获取客户端IP
	GetIP(ctx context.Context, kind session.Kind, target int64) (ip string, miss bool, err error)
	// Push 推送消息
	Push(ctx context.Context, kind session.Kind, target int64, message *packet.Message) (miss bool, err error)
	// Multicast 推送组播消息
	Multicast(ctx context.Context, kind session.Kind, targets []int64, message *packet.Message) (total int64, err error)
	// Broadcast 推送广播消息
	Broadcast(ctx context.Context, kind session.Kind, message *packet.Message) (total int64, err error)
	// Stat 统计会话总数
	Stat(ctx context.Context, kind session.Kind) (total int64, err error)
	// Disconnect 断开连接
	Disconnect(ctx context.Context, kind session.Kind, target int64, isForce bool) (miss bool, err error)
}

type GateProvider

type GateProvider interface {
	// Bind 绑定用户与网关间的关系
	Bind(ctx context.Context, cid, uid int64) error
	// Unbind 解绑用户与网关间的关系
	Unbind(ctx context.Context, uid int64) error
	// GetIP 获取客户端IP地址
	GetIP(ctx context.Context, kind session.Kind, target int64) (ip string, err error)
	// Push 发送消息(异步)
	Push(ctx context.Context, kind session.Kind, target int64, message *packet.Message) error
	// Multicast 推送组播消息(异步)
	Multicast(ctx context.Context, kind session.Kind, targets []int64, message *packet.Message) (total int64, err error)
	// Broadcast 推送广播消息(异步)
	Broadcast(ctx context.Context, kind session.Kind, message *packet.Message) (total int64, err error)
	// Stat 统计会话总数
	Stat(ctx context.Context, kind session.Kind) (total int64, err error)
	// Disconnect 断开连接
	Disconnect(ctx context.Context, kind session.Kind, target int64, isForce bool) error
}

type NodeClient

type NodeClient interface {
	// Trigger 触发事件
	Trigger(ctx context.Context, args *TriggerArgs) (miss bool, err error)
	// Deliver 投递消息
	Deliver(ctx context.Context, args *DeliverArgs) (miss bool, err error)
}

type NodeProvider

type NodeProvider interface {
	// Trigger 触发事件
	Trigger(ctx context.Context, args *TriggerArgs) (miss bool, err error)
	// Deliver 投递消息
	Deliver(ctx context.Context, args *DeliverArgs) (miss bool, err error)
}

type TriggerArgs

type TriggerArgs struct {
	Event int32
	GID   string
	CID   int64
	UID   int64
}

Directories

Path Synopsis
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go

Jump to

Keyboard shortcuts

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