go
This commit is contained in:
1 parent
00abbac00f
commit
922a10fd66
2 files changed
+16
-2
No files matched your search
+3
-2
@@ -45,7 +45,6 @@ func (b *Broker) StartListening() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *Broker) handleConnection(conn net.Conn, idx int) {
|
func (b *Broker) handleConnection(conn net.Conn, idx int) {
|
||||||
|
|
||||||
//process connect packet
|
//process connect packet
|
||||||
buf, err := ReadPacket(conn)
|
buf, err := ReadPacket(conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -74,12 +73,14 @@ func (b *Broker) handleConnection(conn net.Conn, idx int) {
|
|||||||
keepalive: connMsg.KeepAlive(),
|
keepalive: connMsg.KeepAlive(),
|
||||||
willMsg: willmsg,
|
willMsg: willmsg,
|
||||||
}
|
}
|
||||||
|
pool := MSGPool[idx%MessagePoolNum].GetPool()
|
||||||
c := &client{
|
c := &client{
|
||||||
broker: b,
|
broker: b,
|
||||||
conn: conn,
|
conn: conn,
|
||||||
info: info,
|
info: info,
|
||||||
msgPool: MSGPool[idx%MessagePoolNum].GetPool(),
|
msgPool: pool,
|
||||||
}
|
}
|
||||||
c.init()
|
c.init()
|
||||||
c.readLoop()
|
c.readLoop()
|
||||||
|
pool.Reduce()
|
||||||
}
|
}
|
||||||
@@ -13,10 +13,15 @@ const (
|
|||||||
MessagePoolNum = 1024
|
MessagePoolNum = 1024
|
||||||
MessagePoolUser = MaxUser / MessagePoolNum
|
MessagePoolUser = MaxUser / MessagePoolNum
|
||||||
MessagePoolMessageNum = MaxUser / MessagePoolNum * 4
|
MessagePoolMessageNum = MaxUser / MessagePoolNum * 4
|
||||||
|
|
||||||
|
MessageBoxNum = 256
|
||||||
|
MessageBoxUserNum = MaxUser / MessageBoxNum
|
||||||
|
MessageBoxMessageLength = MessageBoxUserNum
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
MSGPool []MessagePool
|
MSGPool []MessagePool
|
||||||
|
// Messagebox []*Message
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@@ -24,6 +29,14 @@ func init() {
|
|||||||
for i := 0; i < (MessagePoolNum + 2); i++ {
|
for i := 0; i < (MessagePoolNum + 2); i++ {
|
||||||
MSGPool[i].Init(MessagePoolUser, MessagePoolMessageNum)
|
MSGPool[i].Init(MessagePoolUser, MessagePoolMessageNum)
|
||||||
}
|
}
|
||||||
|
// Messagebox = make([]MessageProcess, MailBoxNum)
|
||||||
|
// for i := 0; i < MailBoxNum; i++ {
|
||||||
|
// gMailbox[i].Init(MailBoxMessageLength, HongBaoBoxMessageLength)
|
||||||
|
// }
|
||||||
|
// for i := 0; i < MailBoxNum; i++ {
|
||||||
|
// go ProcessRequest(i)
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
func main() {
|
func main() {
|
||||||
broker := broker.NewBroker()
|
broker := broker.NewBroker()
|
||||||
|
|||||||
Reference in new issue
Block a user