1
0
Fork 0
forked from External/grumble

Add support for importing a server from a Murmur SQLite database. Add support for seralizing a server to disk 'freezing' (currently zlib-JSON based).

This commit is contained in:
Mikkel Krautz 2011-04-08 13:21:47 +02:00
parent 2eb5516d31
commit 3ae9881d91
11 changed files with 130730 additions and 55 deletions

View file

@ -146,7 +146,7 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
// Lookup channel for channel ID
if chanstate.ChannelId != nil {
channel, ok = server.channels[int(*chanstate.ChannelId)]
channel, ok = server.Channels[int(*chanstate.ChannelId)]
if !ok {
client.Panic("Invalid channel specified in ChannelState message")
return
@ -155,7 +155,7 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
// Lookup parent
if chanstate.Parent != nil {
parent, ok = server.channels[int(*chanstate.Parent)]
parent, ok = server.Channels[int(*chanstate.Parent)]
if !ok {
client.Panic("Invalid parent channel specified in ChannelState message")
return
@ -235,7 +235,7 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
}
// Add the new channel
channel = server.NewChannel(name)
channel = server.AddChannel(name)
channel.Description = description
channel.Temporary = *chanstate.Temporary
channel.Position = int(*chanstate.Position)
@ -384,13 +384,13 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
}
// Add any valid channels to linkremove slice
for _, cid := range chanstate.LinksRemove {
if iter, ok := server.channels[int(cid)]; ok {
if iter, ok := server.Channels[int(cid)]; ok {
linkremove = append(linkremove, iter)
}
}
// Add any valid channels to linkadd slice
for _, cid := range chanstate.LinksAdd {
if iter, ok := server.channels[int(cid)]; ok {
if iter, ok := server.Channels[int(cid)]; ok {
if !server.HasPermission(client, iter, LinkChannelPermission) {
client.sendPermissionDenied(client, iter, LinkChannelPermission)
return
@ -528,7 +528,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
// Does it have a channel ID?
if userstate.ChannelId != nil {
// Destination channel
dstChan, ok := server.channels[int(*userstate.ChannelId)]
dstChan, ok := server.Channels[int(*userstate.ChannelId)]
if !ok {
return
}
@ -741,7 +741,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
}
if userstate.ChannelId != nil {
channel, ok := server.channels[int(*userstate.ChannelId)]
channel, ok := server.Channels[int(*userstate.ChannelId)]
if ok {
server.userEnterChannel(user, channel, userstate)
broadcast = true
@ -820,7 +820,7 @@ func (server *Server) handleTextMessage(client *Client, msg *Message) {
// Tree
for _, chanid := range txtmsg.TreeId {
if channel, ok := server.channels[int(chanid)]; ok {
if channel, ok := server.Channels[int(chanid)]; ok {
if !server.HasPermission(client, channel, TextMessagePermission) {
client.sendPermissionDenied(client, channel, TextMessagePermission)
}
@ -832,7 +832,7 @@ func (server *Server) handleTextMessage(client *Client, msg *Message) {
// Direct-to-channel
for _, chanid := range txtmsg.ChannelId {
if channel, ok := server.channels[int(chanid)]; ok {
if channel, ok := server.Channels[int(chanid)]; ok {
if !server.HasPermission(client, channel, TextMessagePermission) {
client.sendPermissionDenied(client, channel, TextMessagePermission)
return
@ -874,7 +874,7 @@ func (server *Server) handleAclMessage(client *Client, msg *Message) {
}
// Look up the channel this ACL message operates on.
channel, ok := server.channels[int(*acl.ChannelId)]
channel, ok := server.Channels[int(*acl.ChannelId)]
if !ok {
return
}
@ -1103,7 +1103,7 @@ func (server *Server) handlePermissionQuery(client *Client, msg *Message) {
return
}
channel := server.channels[int(*query.ChannelId)]
channel := server.Channels[int(*query.ChannelId)]
server.sendClientPermissions(client, channel)
}
@ -1157,7 +1157,7 @@ func (server *Server) handleRequestBlob(client *Client, msg *Message) {
// Request for channel descriptions
if len(blobreq.ChannelDescription) > 0 {
for _, cid := range blobreq.ChannelDescription {
if channel, ok := server.channels[int(cid)]; ok {
if channel, ok := server.Channels[int(cid)]; ok {
if len(channel.Description) > 0 {
chanstate.Reset()
chanstate.ChannelId = proto.Uint32(uint32(channel.Id))