Пример #1
0
class MooServerFactory(ServerFactory):
    motd = ''

    channels = None
    connections = None
    
    channelPool = None
    userPool = None
    
    def __init__(self, **settings):
        self.settings = settings
        self.channels = MultikeyDict()
        self.connections = MultikeyDict()
        self.userPool = IDPool(1)
        self.channelPool = IDPool(1)
    
    def createChannel(self, channelName):
        try:
            channel, = self.channels[channelName]
            return channel
        except KeyError:
            newId = self.channelPool.popId()
            newChannel = Channel(channelName, newId, self)
            self.channels[channelName, newId] = newChannel
            self.channelCreated(newChannel)
            return newChannel
    
    def destroyChannel(self, channel):
        del self.channels[channel]
        self.channelDestroyed(channel)
        
    def channelCreated(self, channel):
        """
        Called when a new channel is
        created
        """

    def channelDestroyed(self, channel):
        """