class ServerNetworkSetup (Engine):
    """ Gets the server ready to run the game: Sets up the network, connect to
    clients. """
    
    # Consructor {{{1
    def __init__ (self, loop):
        print 'S: Setting up server.'
        Engine.__init__ (self, loop)

        host = network_settings.host
        port = network_settings.port
        seats = network_settings.seats
        callback = self.server_full_callback
        self.server = PickleServer (host, port, seats, callback)

    def setup (self):
        self.server.open()

    # Update {{{1
    def update (self, time):
        self.server.accept()

    # Methods {{{1
    def server_full_callback(self, *pipes):
        self.exit_engine()

    def successor (self):
        print 'S: Server set up. All clients connected.'
        return ServerPregame(self.loop, self.server)
    
    def teardown (self):
        pass
    def __init__ (self, loop):
        print 'S: Setting up server.'
        Engine.__init__ (self, loop)

        host = network_settings.host
        port = network_settings.port
        seats = network_settings.seats
        callback = self.server_full_callback
        self.server = PickleServer (host, port, seats, callback)