Documentation ¶
Index ¶
- Variables
- type Biz
- func (bz *Biz) Connect(ctx context.Context, req *pb.ConnectReq) (reply *pb.ConnectReply, err error)
- func (bz *Biz) Disconnect(ctx context.Context, req *pb.DisconnectReq) (reply *pb.DisconnectReply, err error)
- func (bz *Biz) GetData() *data.Data
- func (bz *Biz) GetHeartbeatExpire() (result time.Duration)
- func (bz *Biz) Heartbeat(ctx context.Context, req *pb.HeartbeatReq) (reply *pb.HeartbeatReply, err error)
- func (bz *Biz) Nodes(ctx context.Context, req *pb.NodesReq) (reply *pb.NodesReply, err error)
- func (bz *Biz) Ping()
- func (bz *Biz) Receive(ctx context.Context, userId int64, proto *protocol.Proto) (err error)
- func (bz *Biz) RenewOnline(ctx context.Context, serverId string, roomCount map[string]int32) (reply *pb.OnlineReply, err error)
- func (bz *Biz) SendToAll(ctx context.Context, req *request.SendToAllReq) error
- func (bz *Biz) SendToRoom(ctx context.Context, req *request.SendToRoomReq) error
- func (bz *Biz) SendToUsers(ctx context.Context, req *request.SendToUsersReq) error
- func (bz *Biz) SendToUsersByIds(ctx context.Context, req *request.SendToUsersByIdsReq) error
- type ContactUseCase
- type Fn
- type LoadBalance
- type MessageUseCase
- func (b *MessageUseCase) Fetch(ctx context.Context, req *request.MessageFetchReq) (rsp response.MessageFetchRsp, err error)
- func (b *MessageUseCase) OpClearHistory(ctx context.Context, req *request.ClearHistoryReq) (rsp response.ClearHistoryRsp, err error)
- func (b *MessageUseCase) OpDelBothSide(ctx context.Context, req *request.DelBothSideReq) (rsp response.DelBothSideRsp, err error)
- func (b *MessageUseCase) OpDelOneSide(ctx context.Context, req *request.DelOneSideReq) (rsp response.DelOneSideRsp, err error)
- func (b *MessageUseCase) OpWithdraw(ctx context.Context, req *request.MessageWithdrawReq) (rsp response.MessageWithdrawRsp, err error)
- func (b *MessageUseCase) Send(ctx context.Context, req *request.MessageSendReq) (rsp response.MessageSendRsp, err error)
- func (b *MessageUseCase) SendSimpleCustomMessage(ctx context.Context, sender, receiver *gen_id.ComponentId, d string) (rsp response.MessageSendRsp, err error)
Constants ¶
This section is empty.
Variables ¶
var ProviderSet = wire.NewSet(NewBiz, NewMessageUseCase, NewContactUseCase)
ProviderSet is biz providers.
Functions ¶
This section is empty.
Types ¶
type Biz ¶
type Biz struct {
// contains filtered or unexported fields
}
Biz 通用的对象
func (*Biz) Connect ¶
func (bz *Biz) Connect(ctx context.Context, req *pb.ConnectReq) (reply *pb.ConnectReply, err error)
Connect connected a conn.
func (*Biz) Disconnect ¶
func (bz *Biz) Disconnect(ctx context.Context, req *pb.DisconnectReq) (reply *pb.DisconnectReply, err error)
Disconnect disconnect a conn.
func (*Biz) GetHeartbeatExpire ¶
func (*Biz) Heartbeat ¶
func (bz *Biz) Heartbeat(ctx context.Context, req *pb.HeartbeatReq) (reply *pb.HeartbeatReply, err error)
Heartbeat heartbeat a conn.
func (*Biz) Nodes ¶
Nodes 获取节点信息 - 对于comet来说,用于建立TCP服务器、WS服务器、WSS服务器 - 对于客户端来说,用于建立TCP客户端、WS客户端、WSS客户端 - 可以配合一定的负载均衡算法,实现节点的负载(根据每个节点的连接数进行负载分发)
func (*Biz) RenewOnline ¶
func (bz *Biz) RenewOnline(ctx context.Context, serverId string, roomCount map[string]int32) (reply *pb.OnlineReply, err error)
RenewOnline renew a server online.
func (*Biz) SendToRoom ¶
SendToRoom 发送消息(by kafka)
func (*Biz) SendToUsers ¶
SendToUsers 发送消息(by kafka)
func (*Biz) SendToUsersByIds ¶
SendToUsersByIds 发送消息(by kafka)
type ContactUseCase ¶
type ContactUseCase struct {
// contains filtered or unexported fields
}
func NewContactUseCase ¶
func NewContactUseCase(contactRepo *data.ContactRepo, repoMessage *data.MessageRepo) *ContactUseCase
func (*ContactUseCase) Fetch ¶
func (b *ContactUseCase) Fetch(ctx context.Context, req *request.ContactFetchReq) (resp response.ContactFetchRsp, err error)
Fetch 拉取会话
type LoadBalance ¶
type LoadBalance struct {
// contains filtered or unexported fields
}
func NewLoadBalance ¶
func NewLoadBalance(conf *conf.Config) *LoadBalance
type MessageUseCase ¶
type MessageUseCase struct {
// contains filtered or unexported fields
}
func NewMessageUseCase ¶
func NewMessageUseCase(repoMessage *data.MessageRepo, repoContact *data.ContactRepo) *MessageUseCase
func (*MessageUseCase) Fetch ¶
func (b *MessageUseCase) Fetch(ctx context.Context, req *request.MessageFetchReq) (rsp response.MessageFetchRsp, err error)
Fetch 拉取消息
func (*MessageUseCase) OpClearHistory ¶
func (b *MessageUseCase) OpClearHistory(ctx context.Context, req *request.ClearHistoryReq) (rsp response.ClearHistoryRsp, err error)
OpClearHistory 清空聊天记录(批量清空) 核心:更新Contact的 last_del_msg_id 为 last_msg_id
func (*MessageUseCase) OpDelBothSide ¶
func (b *MessageUseCase) OpDelBothSide(ctx context.Context, req *request.DelBothSideReq) (rsp response.DelBothSideRsp, err error)
OpDelBothSide 某条消息删除(两边的聊天记录都需要删除) 核心:更新status和version_id(需要通知对方,所以需要更新version_id)
func (*MessageUseCase) OpDelOneSide ¶
func (b *MessageUseCase) OpDelOneSide(ctx context.Context, req *request.DelOneSideReq) (rsp response.DelOneSideRsp, err error)
OpDelOneSide 某条消息删除(只有一边的聊天记录是不可见,另外一边可见) 核心:更新 invisible_list
func (*MessageUseCase) OpWithdraw ¶
func (b *MessageUseCase) OpWithdraw(ctx context.Context, req *request.MessageWithdrawReq) (rsp response.MessageWithdrawRsp, err error)
OpWithdraw 某条消息撤回(两边的聊天记录都需要撤回) 核心:更新status和version_id(需要通知对方,所以需要更新version_id)
func (*MessageUseCase) Send ¶
func (b *MessageUseCase) Send(ctx context.Context, req *request.MessageSendReq) (rsp response.MessageSendRsp, err error)
Send 发送消息
func (*MessageUseCase) SendSimpleCustomMessage ¶
func (b *MessageUseCase) SendSimpleCustomMessage(ctx context.Context, sender, receiver *gen_id.ComponentId, d string) (rsp response.MessageSendRsp, err error)
SendSimpleCustomMessage 简化接口:发送自定义消息