Java 类org.projectfloodlight.openflow.protocol.OFRoleStatus 实例源码

项目:arscheduler    文件:OFSwitchHandshakeHandler.java   
@Override
void processOFRoleStatus(OFRoleStatus m) {
    /**
     *  Tulio Ribeiro
     *  
     *  Controller roles. 
     *  enum ofp_controller_role { 
     *  OFPCR_ROLE_NOCHANGE =   0, Don’t change current role. 
     *  OFPCR_ROLE_EQUAL =      1, Default role, full access. 
     *  OFPCR_ROLE_MASTER =     2, Full access, at most one master. 
     *  OFPCR_ROLE_SLAVE =      3, Read-only access. 
     *  };
     */
    long role = m.getRole();
    if(role==3)
        sendRoleRequest(OFControllerRole.ROLE_SLAVE);
    else if (role==2)
        sendRoleRequest(OFControllerRole.ROLE_MASTER);
    else if (role==1)
        sendRoleRequest(OFControllerRole.ROLE_EQUAL);
    else
        sendRoleRequest(OFControllerRole.ROLE_NOCHANGE);
}
项目:arscheduler    文件:OFSwitchHandshakeHandler.java   
@Override
void processOFRoleStatus(OFRoleStatus m) {
    /**
     *  Tulio Ribeiro
     *  
     *  Controller roles. 
     *  enum ofp_controller_role { 
     *  OFPCR_ROLE_NOCHANGE =   0, Don’t change current role. 
     *  OFPCR_ROLE_EQUAL =      1, Default role, full access. 
     *  OFPCR_ROLE_MASTER =     2, Full access, at most one master. 
     *  OFPCR_ROLE_SLAVE =      3, Read-only access. 
     *  };
     */
    //log.info("Processing roleStatus from MasterState...");
    long role = m.getRole();
    if(role==3){
        sendRoleRequest(OFControllerRole.ROLE_SLAVE);
        /*OFSwitchManager.switchInitialRole.remove(mainConnection.getDatapathId());
        OFSwitchManager.switchInitialRole.put(mainConnection.getDatapathId(), 
                OFControllerRole.ROLE_SLAVE);*/
    }
    else if (role==2)
        sendRoleRequest(OFControllerRole.ROLE_MASTER);
    else if (role==1)
        sendRoleRequest(OFControllerRole.ROLE_EQUAL);
    else
        sendRoleRequest(OFControllerRole.ROLE_NOCHANGE);
}
项目:arscheduler    文件:OFSwitchHandshakeHandler.java   
/**
 *  Tulio Ribeiro
 */
void processOFRoleStatus(OFRoleStatus m){
    unhandledMessageReceived(m);
}
项目:arscheduler    文件:OFSwitchHandshakeHandler.java   
/**
 * Process an OF message received on the channel and
 * update state accordingly.
 *
 * The main "event" of the state machine. Process the received message,
 * send follow up message if required and update state if required.
 *
 * Switches on the message type and calls more specific event handlers
 * for each individual OF message type. If we receive a message that
 * is supposed to be sent from a controller to a switch we throw
 * a SwitchStateExeption.
 *
 * The more specific handlers can also throw SwitchStateExceptions
 *
 * @param h The OFChannelHandler that received the message
 * @param m The message we received.
 * @throws SwitchStateException
 * @throws IOException
 */
void processOFMessage(OFMessage m) {
    roleChanger.checkTimeout();
    switch(m.getType()) {
    case BARRIER_REPLY:
        processOFBarrierReply((OFBarrierReply) m);
        break;
    case ERROR:
        processOFError((OFErrorMsg) m);
        break;
    case FLOW_REMOVED:
        processOFFlowRemoved((OFFlowRemoved) m);
        break;
    case GET_CONFIG_REPLY:
        processOFGetConfigReply((OFGetConfigReply) m);
        break;
    case PACKET_IN:
        processOFPacketIn((OFPacketIn) m);
        break;
    case PORT_STATUS:
        processOFPortStatus((OFPortStatus) m);
        break;
    case QUEUE_GET_CONFIG_REPLY:
        processOFQueueGetConfigReply((OFQueueGetConfigReply) m);
        break;
    case STATS_REPLY:
        processOFStatsReply((OFStatsReply) m);
        break;
    case ROLE_REPLY:
        processOFRoleReply((OFRoleReply) m);
        break;
    case EXPERIMENTER:
        processOFExperimenter((OFExperimenter) m);
        break;
    case ROLE_STATUS:
        processOFRoleStatus((OFRoleStatus) m);
        break;
    default:
        illegalMessageReceived(m);
        break;
    }
}