| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package main
- import (
- "git.wanbits.io/joe/franklin/protos"
- "git.wanbits.io/joe/nnet"
- "github.com/golang/protobuf/proto"
- )
- var (
- routes = map[string]fnCSHandler{
- "C_Heartbeat": on_C_Heartbeat,
- "C_Login": on_C_Login,
- "C_Logout": on_C_Logout,
- "C_EnterGame": on_C_EnterGame,
- "C_LeaveGame": on_C_LeaveGame,
- "C_EnterRoom": on_C_EnterRoom,
- "C_EnterTable": on_C_EnterTable,
- "C_LeaveRoom": on_C_LeaveRoom,
- "C_LeaveTable": on_C_LeaveTable,
- }
- )
- type fnCSHandler func(nnet.ISession, *CSPacket)
- func dispatch(ses nnet.ISession, pkt *CSPacket) {
- handler, ok := routes[pkt.MsgName]
- if !ok {
- return
- }
- handler(ses, pkt)
- }
- func on_C_Heartbeat(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_Login(ses nnet.ISession, p *CSPacket) {
- prm := &protos.C_Login{}
- err := proto.Unmarshal(p.Req, prm)
- if err != nil {
- return
- }
- // verify by rabbit
- // chech agent offline
- // check user status
- // check user kicked off
- // check if have logged in any agents already
- // check reconnect state
- // route to a lobby
- // update user location
- // update session id
- }
- func on_C_Logout(ses nnet.ISession, p *CSPacket) {
- //
- }
- func on_C_EnterGame(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_LeaveGame(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_EnterRoom(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_EnterTable(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_LeaveRoom(ses nnet.ISession, p *CSPacket) {
- }
- func on_C_LeaveTable(ses nnet.ISession, p *CSPacket) {
- }
|