wifi: Introduce OFF state
This commit is contained in:
@@ -346,8 +346,6 @@ WifiPhyStateHelper::SwitchToTx (Time txDuration, Ptr<const Packet> packet, doubl
|
||||
case WifiPhy::IDLE:
|
||||
LogPreviousIdleAndCcaBusyStates ();
|
||||
break;
|
||||
case WifiPhy::SWITCHING:
|
||||
case WifiPhy::SLEEP:
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state.");
|
||||
break;
|
||||
@@ -378,10 +376,7 @@ WifiPhyStateHelper::SwitchToRx (Time rxDuration)
|
||||
ccaStart = Max (ccaStart, m_endSwitching);
|
||||
m_stateLogger (ccaStart, now - ccaStart, WifiPhy::CCA_BUSY);
|
||||
} break;
|
||||
case WifiPhy::SWITCHING:
|
||||
case WifiPhy::RX:
|
||||
case WifiPhy::TX:
|
||||
case WifiPhy::SLEEP:
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state.");
|
||||
break;
|
||||
}
|
||||
@@ -418,9 +413,6 @@ WifiPhyStateHelper::SwitchToChannelSwitching (Time switchingDuration)
|
||||
case WifiPhy::IDLE:
|
||||
LogPreviousIdleAndCcaBusyStates ();
|
||||
break;
|
||||
case WifiPhy::TX:
|
||||
case WifiPhy::SWITCHING:
|
||||
case WifiPhy::SLEEP:
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state.");
|
||||
break;
|
||||
@@ -489,18 +481,10 @@ WifiPhyStateHelper::SwitchMaybeToCcaBusy (Time duration)
|
||||
Time now = Simulator::Now ();
|
||||
switch (GetState ())
|
||||
{
|
||||
case WifiPhy::SWITCHING:
|
||||
break;
|
||||
case WifiPhy::SLEEP:
|
||||
break;
|
||||
case WifiPhy::IDLE:
|
||||
LogPreviousIdleAndCcaBusyStates ();
|
||||
break;
|
||||
case WifiPhy::CCA_BUSY:
|
||||
break;
|
||||
case WifiPhy::RX:
|
||||
break;
|
||||
case WifiPhy::TX:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (GetState () != WifiPhy::CCA_BUSY)
|
||||
@@ -527,10 +511,7 @@ WifiPhyStateHelper::SwitchToSleep (void)
|
||||
ccaStart = Max (ccaStart, m_endSwitching);
|
||||
m_stateLogger (ccaStart, now - ccaStart, WifiPhy::CCA_BUSY);
|
||||
} break;
|
||||
case WifiPhy::RX:
|
||||
case WifiPhy::SWITCHING:
|
||||
case WifiPhy::TX:
|
||||
case WifiPhy::SLEEP:
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state.");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2481,6 +2481,9 @@ WifiPhy::StartReceivePreambleAndHeader (Ptr<Packet> packet, double rxPowerW, Tim
|
||||
NotifyRxDrop (packet);
|
||||
m_plcpSuccess = false;
|
||||
break;
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3756,6 +3759,8 @@ std::ostream& operator<< (std::ostream& os, WifiPhy::State state)
|
||||
return (os << "SWITCHING");
|
||||
case WifiPhy::SLEEP:
|
||||
return (os << "SLEEP");
|
||||
case WifiPhy::OFF:
|
||||
return (os << "OFF");
|
||||
default:
|
||||
NS_FATAL_ERROR ("Invalid WifiPhy state");
|
||||
return (os << "INVALID");
|
||||
|
||||
@@ -193,7 +193,11 @@ public:
|
||||
/**
|
||||
* The PHY layer is sleeping.
|
||||
*/
|
||||
SLEEP
|
||||
SLEEP,
|
||||
/**
|
||||
* The PHY layer is switched off.
|
||||
*/
|
||||
OFF
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -413,6 +413,9 @@ WifiRadioEnergyModel::SetWifiRadioState (const WifiPhy::State state)
|
||||
case WifiPhy::SLEEP:
|
||||
stateName = "SLEEP";
|
||||
break;
|
||||
case WifiPhy::OFF:
|
||||
stateName = "OFF";
|
||||
break;
|
||||
}
|
||||
NS_LOG_DEBUG ("WifiRadioEnergyModel:Switching to state: " << stateName <<
|
||||
" at time = " << Simulator::Now ());
|
||||
|
||||
Reference in New Issue
Block a user