question: protected void processBDDPLists ( ) { int count = 0 ; Set < NodePortTuple > nptList = new HashSet < NodePortTuple > ( ) ; while ( count < BDDP_TASK_SIZE && quarantineQueue . peek ( ) != null ) { NodePortTuple npt ; npt = quarantineQueue . remove ( ) ; if ( ! toRemoveFromQuarantineQueue . remove ( npt ) ) { sendDiscoveryMessage ( npt . getNodeId ( ) , npt . getPortId ( ) , false , false ) ; } nptList . add ( npt ) ; count ++ ; } count = 0 ; while ( count < BDDP_TASK_SIZE && maintenanceQueue . peek ( ) != null ) { NodePortTuple npt ; npt = maintenanceQueue . remove ( ) ; if ( ! toRemoveFromMaintenanceQueue . remove ( npt ) ) { sendDiscoveryMessage ( npt . getNodeId ( ) , npt . getPortId ( ) , false , false ) ; } count ++ ; } for ( NodePortTuple npt : nptList ) { generateSwitchPortStatusUpdate ( npt . getNodeId ( ) , npt . getPortId ( ) ) ; } }
target:  This method processes the quarantine list in bursts. The task is at most once per BDDP_TASK_INTERVAL. One each call, BDDP_TASK_SIZE number of switch ports are processed. Once the BDDP packets are sent out through the switch ports, the ports are removed from the quarantine list.