goserver_sync/mmo/gatesrv/packetdispatchhandler.go

56 lines
1.5 KiB
Go

package main
//
//import (
// "bytes"
// "sync/atomic"
//
// "google.golang.org/protobuf/proto"
// "games.jiexunjiayin.com/jxjyqp/protocol"
// "mongo.games.com/goserver/core/builtin/filter"
// "mongo.games.com/goserver/core/logger"
// "mongo.games.com/goserver/core/netlib"
//)
//
//func init() {
// netlib.RegisteErrorPacketHandlerCreator("packetdispatchhandler", func() netlib.ErrorPacketHandler {
// return netlib.ErrorPacketHandlerWrapper(func(s *netlib.Session, packetid int, logicNo uint32, data []byte) bool {
// if s.GetAttribute(filter.SessionAttributeAuth) == nil {
// logger.Logger.Trace("packetdispatchhandler session not auth! ")
// return false
// }
//
// bs := BundleMgrSington.GetBundleSession(uint16(s.GroupId))
// if bs == nil {
// logger.Logger.Trace("packetdispatchhandler BundleSession is nil! ")
// return false
// }
//
// if atomic.CompareAndSwapUint32(&bs.rcvLogicNo, logicNo-1, logicNo) {
// var ss *netlib.Session
// if packetid >= 2000 && packetid < 3000 {
// ss = bs.worldsrvSession
// } else {
// ss = bs.gamesrvSession
// }
// if ss == nil {
// logger.Logger.Trace("packetdispatchhandler redirect server session is nil ", packetid)
// return true
// }
// //must copy
// buf := bytes.NewBuffer(nil)
// buf.Write(data)
// pack := &protocol.SSTransmit{
// SessionId: proto.Int64(s.Sid),
// PacketData: buf.Bytes(),
// }
// ss.Send(int(protocol.MmoPacketID_PACKET_SS_PACKET_TRANSMIT), pack)
// return true
// }
//
// //丢掉
// return false
// })
// })
//}