def run(self):
        server = core.core()
        ofconn = ofcomm.ofserver(server)
        jsonconn = jsoncomm.jsonserver(server, file=self.sock, 
                                       forcebind=self.forcejson)
        ujson = udpjson.jsonudpserver(server, self.port)

        #OpenFlow Parser
        ofparse = ofevents.parser(server)
        #COIN main sever, maintaining connection
        coinserver = coinbr.bridge(server, ofconn.connections, 
                                   jsonconn.connections)

        #Network status
        sw = switches.dp_features(server)

        #OVS fabric manager
        ovs = coinovs.switch(server, jsonconn.connections)
        coinserver.switch = ovs

        #Flow management
        trafh = coinbr.traffic_handler(server, ofconn.connections, coinserver)

        #Add interfaces
        coinserver.setup(self.interfaces)

        server.order_handler(ofevents.features_reply.name,
                             sw, coinserver)
        server.order_cleanup(ofconn, ovs)

        server.run()
        sys.exit(0)
    def run(self):
        """Run server
        """
        #Create yapc base
        server = core.core()
        ofconn = ofcomm.ofserver(server)
        jsonconn = jsoncomm.jsonserver(server, file=self.sock, 
                                       forcebind=self.forcejson)

        #Debug/Profiling
        #ofmsg = ofdbg.of_msg_count(server)

        #OpenFlow Parser
        ofparse = ofevents.parser(server)
        #COIN main server, maintaining connections
        coinserver = coinnat.nat(server, ofconn.connections,
                                 jsonconn.connections)
        coin_info = coini.core(server)

        #Information components
        bwm = ns.coin_intf_bandwidth(coin_info)

        #Network status
        sw = switches.dp_features(server)
        swhost = switchhost.mac2sw_binding(server)

        #OVS fabric manager
        ovs = coinovs.switch(server, jsonconn.connections)
        coinserver.switch = ovs

        #Flow management
        arph = coinnat.arp_handler(server, ofconn.connections)
        iph = coinnat.ip_handler(server, ofconn.connections, coinserver)

        #Add interfaces
        coinserver.setup(self.interfaces)

        server.order_handler(ofevents.features_reply.name,
                             sw, coinserver)
        server.order_cleanup(ofconn, ovs)

        coin_info.start()
        server.run()       
        sys.exit(0)