TypeId AccountingConsumer::GetTypeId(void) { static TypeId tid = TypeId("ns3::ndn::AccountingConsumer") .SetGroupName("Ndn") .SetParent<ConsumerCbr>() .AddConstructor<AccountingConsumer>() .AddAttribute("ConsumerID", "Consumer ID", IntegerValue(std::numeric_limits<uint32_t>::max()), MakeIntegerAccessor(&AccountingConsumer::m_id), MakeIntegerChecker<uint32_t>()) .AddAttribute("NumberOfContents", "Number of the Contents in total", StringValue("100"), MakeUintegerAccessor(&AccountingConsumer::SetNumberOfContents, &AccountingConsumer::GetNumberOfContents), MakeUintegerChecker<uint32_t>()) .AddAttribute("q", "parameter of improve rank", StringValue("0.7"), MakeDoubleAccessor(&AccountingConsumer::SetQ, &AccountingConsumer::GetQ), MakeDoubleChecker<double>()) .AddAttribute("s", "parameter of power", StringValue("0.7"), MakeDoubleAccessor(&AccountingConsumer::SetS, &AccountingConsumer::GetS), MakeDoubleChecker<double>()) .AddTraceSource("ReceivedMeaningfulContent", "Trace called every time meaningful content is received", MakeTraceSourceAccessor(&AccountingConsumer::m_receivedMeaningfulContent)); return tid; }
TypeId LogDistancePropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::LogDistancePropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<LogDistancePropagationLossModel> () .AddAttribute ("Exponent", "The exponent of the Path Loss propagation model", DoubleValue (3.0), MakeDoubleAccessor (&LogDistancePropagationLossModel::m_exponent), MakeDoubleChecker<double> ()) .AddAttribute ("ReferenceDistance", "The distance at which the reference loss is calculated (m)", DoubleValue (1.0), MakeDoubleAccessor (&LogDistancePropagationLossModel::m_referenceDistance), MakeDoubleChecker<double> ()) .AddAttribute ("ReferenceLoss", "The reference loss at reference distance (dB). (Default is Friis at 1m with 5.15 GHz)", DoubleValue (46.6777), MakeDoubleAccessor (&LogDistancePropagationLossModel::m_referenceLoss), MakeDoubleChecker<double> ()) ; return tid; }
TypeId FriisPropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::FriisPropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<FriisPropagationLossModel> () .AddAttribute ("Frequency", "The carrier frequency (in Hz) at which propagation occurs (default is 5.15 GHz).", DoubleValue (5.150e9), MakeDoubleAccessor (&FriisPropagationLossModel::SetFrequency, &FriisPropagationLossModel::GetFrequency), MakeDoubleChecker<double> ()) .AddAttribute ("SystemLoss", "The system loss", DoubleValue (1.0), MakeDoubleAccessor (&FriisPropagationLossModel::m_systemLoss), MakeDoubleChecker<double> ()) .AddAttribute ("MinDistance", "The distance under which the propagation model refuses to give results (m)", DoubleValue (0.5), MakeDoubleAccessor (&FriisPropagationLossModel::SetMinDistance, &FriisPropagationLossModel::GetMinDistance), MakeDoubleChecker<double> ()) ; return tid; }
TypeId TwoRayGroundPropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::TwoRayGroundPropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<TwoRayGroundPropagationLossModel> () .AddAttribute ("Frequency", "The carrier frequency (in Hz) at which propagation occurs (default is 5.15 GHz).", DoubleValue (5.150e9), MakeDoubleAccessor (&TwoRayGroundPropagationLossModel::SetFrequency, &TwoRayGroundPropagationLossModel::GetFrequency), MakeDoubleChecker<double> ()) .AddAttribute ("SystemLoss", "The system loss", DoubleValue (1.0), MakeDoubleAccessor (&TwoRayGroundPropagationLossModel::m_systemLoss), MakeDoubleChecker<double> ()) .AddAttribute ("MinDistance", "The distance under which the propagation model refuses to give results (m)", DoubleValue (0.5), MakeDoubleAccessor (&TwoRayGroundPropagationLossModel::SetMinDistance, &TwoRayGroundPropagationLossModel::GetMinDistance), MakeDoubleChecker<double> ()) .AddAttribute ("HeightAboveZ", "The height of the antenna (m) above the node's Z coordinate", DoubleValue (0), MakeDoubleAccessor (&TwoRayGroundPropagationLossModel::m_heightAboveZ), MakeDoubleChecker<double> ()) ; return tid; }
TypeId ConsumerZipfMandelbrot::GetTypeId(void) { static TypeId tid = TypeId("ns3::ndn::ConsumerZipfMandelbrot") .SetGroupName("Ndn") .SetParent<ConsumerCbr>() .AddConstructor<ConsumerZipfMandelbrot>() .AddAttribute("NumberOfContents", "Number of the Contents in total", StringValue("100"), MakeUintegerAccessor(&ConsumerZipfMandelbrot::SetNumberOfContents, &ConsumerZipfMandelbrot::GetNumberOfContents), MakeUintegerChecker<uint32_t>()) .AddAttribute("q", "parameter of improve rank", StringValue("0.7"), MakeDoubleAccessor(&ConsumerZipfMandelbrot::SetQ, &ConsumerZipfMandelbrot::GetQ), MakeDoubleChecker<double>()) .AddAttribute("s", "parameter of power", StringValue("0.7"), MakeDoubleAccessor(&ConsumerZipfMandelbrot::SetS, &ConsumerZipfMandelbrot::GetS), MakeDoubleChecker<double>()); return tid; }
TypeId NakagamiPropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::NakagamiPropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<NakagamiPropagationLossModel> () .AddAttribute ("Distance1", "Beginning of the second distance field. Default is 80m.", DoubleValue (80.0), MakeDoubleAccessor (&NakagamiPropagationLossModel::m_distance1), MakeDoubleChecker<double> ()) .AddAttribute ("Distance2", "Beginning of the third distance field. Default is 200m.", DoubleValue (200.0), MakeDoubleAccessor (&NakagamiPropagationLossModel::m_distance2), MakeDoubleChecker<double> ()) .AddAttribute ("m0", "m0 for distances smaller than Distance1. Default is 1.5.", DoubleValue (1.5), MakeDoubleAccessor (&NakagamiPropagationLossModel::m_m0), MakeDoubleChecker<double> ()) .AddAttribute ("m1", "m1 for distances smaller than Distance2. Default is 0.75.", DoubleValue (0.75), MakeDoubleAccessor (&NakagamiPropagationLossModel::m_m1), MakeDoubleChecker<double> ()) .AddAttribute ("m2", "m2 for distances greater than Distance2. Default is 0.75.", DoubleValue (0.75), MakeDoubleAccessor (&NakagamiPropagationLossModel::m_m2), MakeDoubleChecker<double> ()) .AddAttribute ("ErlangRv", "Access to the underlying ErlangRandomVariable", StringValue ("ns3::ErlangRandomVariable"), MakePointerAccessor (&NakagamiPropagationLossModel::m_erlangRandomVariable), MakePointerChecker<ErlangRandomVariable> ()) .AddAttribute ("GammaRv", "Access to the underlying GammaRandomVariable", StringValue ("ns3::GammaRandomVariable"), MakePointerAccessor (&NakagamiPropagationLossModel::m_gammaRandomVariable), MakePointerChecker<GammaRandomVariable> ()); ; return tid; }
TypeId MatrixPropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::MatrixPropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<MatrixPropagationLossModel> () .AddAttribute ("DefaultLoss", "The default value for propagation loss, dB.", DoubleValue (std::numeric_limits<double>::max ()), MakeDoubleAccessor (&MatrixPropagationLossModel::m_default), MakeDoubleChecker<double> ()) ; return tid; }
TypeId FixedRssLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::FixedRssLossModel") .SetParent<PropagationLossModel> () .AddConstructor<FixedRssLossModel> () .AddAttribute ("Rss", "The fixed receiver Rss.", DoubleValue (-150.0), MakeDoubleAccessor (&FixedRssLossModel::m_rss), MakeDoubleChecker<double> ()) ; return tid; }
TypeId ConstantSpeedPropagationDelayModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::ConstantSpeedPropagationDelayModel") .SetParent<PropagationDelayModel> () .AddConstructor<ConstantSpeedPropagationDelayModel> () .AddAttribute ("Speed", "The speed (m/s)", DoubleValue (300000000.0), MakeDoubleAccessor (&ConstantSpeedPropagationDelayModel::m_speed), MakeDoubleChecker<double> ()) ; return tid; }
TypeId RangePropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::RangePropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<RangePropagationLossModel> () .AddAttribute ("MaxRange", "Maximum Transmission Range (meters)", DoubleValue (250), MakeDoubleAccessor (&RangePropagationLossModel::m_range), MakeDoubleChecker<double> ()) ; return tid; }
TypeId IdealWifiManager::GetTypeId (void) { static TypeId tid = TypeId ("ns3::IdealWifiManager") .SetParent<WifiRemoteStationManager> () .AddConstructor<IdealWifiManager> () .AddAttribute ("BerThreshold", "The maximum Bit Error Rate acceptable at any transmission mode", DoubleValue (10e-6), MakeDoubleAccessor (&IdealWifiManager::m_ber), MakeDoubleChecker<double> ()) ; return tid; }
TypeId VerifyingConsumer::GetTypeId(void) { static TypeId tid = TypeId("ns3::ndn::VerifyingConsumer") .SetGroupName("Ndn") .SetParent<Consumer>() .AddConstructor<VerifyingConsumer>() // .AddAttribute("StartSeq", "Initial sequence number", IntegerValue(0), // MakeIntegerAccessor(&VerifyingConsumer::m_seq), MakeIntegerChecker<int32_t>()) // // .AddAttribute("Prefix", "Name of the Interest", StringValue("/"), // MakeNameAccessor(&VerifyingConsumer::m_interestName), MakeNameChecker()) // .AddAttribute("LifeTime", "LifeTime for interest packet", StringValue("2s"), // MakeTimeAccessor(&VerifyingConsumer::m_interestLifeTime), MakeTimeChecker()) .AddAttribute("Frequency", "Frequency of interest packets", StringValue("1.0"), MakeDoubleAccessor(&VerifyingConsumer::m_frequency), MakeDoubleChecker<double>()); // .AddAttribute("Randomize", // "Type of send time randomization: none (default), uniform, exponential", // StringValue("none"), // MakeStringAccessor(&VerifyingConsumer::SetRandomize, &VerifyingConsumer::GetRandomize), // MakeStringChecker()) // // .AddAttribute("MaxSeq", "Maximum sequence number to request", // IntegerValue(std::numeric_limits<uint32_t>::max()), // MakeIntegerAccessor(&VerifyingConsumer::m_seqMax), MakeIntegerChecker<uint32_t>()) // // .AddAttribute("RetxTimer", // "Timeout defining how frequent retransmission timeouts should be checked", // StringValue("50ms"), // MakeTimeAccessor(&VerifyingConsumer::GetRetxTimer, &VerifyingConsumer::SetRetxTimer), // MakeTimeChecker()) // // .AddTraceSource("LastRetransmittedInterestDataDelay", // "Delay between last retransmitted Interest and received Data", // MakeTraceSourceAccessor(&VerifyingConsumer::m_lastRetransmittedInterestDataDelay), // "ns3::ndn::VerifyingConsumer::LastRetransmittedInterestDataDelayCallback") // // .AddTraceSource("FirstInterestDataDelay", // "Delay between first transmitted Interest and received Data", // MakeTraceSourceAccessor(&VerifyingConsumer::m_firstInterestDataDelay), // "ns3::ndn::VerifyingConsumer::FirstInterestDataDelayCallback"); return tid; }
TypeId ThreeLogDistancePropagationLossModel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::ThreeLogDistancePropagationLossModel") .SetParent<PropagationLossModel> () .AddConstructor<ThreeLogDistancePropagationLossModel> () .AddAttribute ("Distance0", "Beginning of the first (near) distance field", DoubleValue (1.0), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_distance0), MakeDoubleChecker<double> ()) .AddAttribute ("Distance1", "Beginning of the second (middle) distance field.", DoubleValue (200.0), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_distance1), MakeDoubleChecker<double> ()) .AddAttribute ("Distance2", "Beginning of the third (far) distance field.", DoubleValue (500.0), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_distance2), MakeDoubleChecker<double> ()) .AddAttribute ("Exponent0", "The exponent for the first field.", DoubleValue (1.9), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_exponent0), MakeDoubleChecker<double> ()) .AddAttribute ("Exponent1", "The exponent for the second field.", DoubleValue (3.8), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_exponent1), MakeDoubleChecker<double> ()) .AddAttribute ("Exponent2", "The exponent for the third field.", DoubleValue (3.8), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_exponent2), MakeDoubleChecker<double> ()) .AddAttribute ("ReferenceLoss", "The reference loss at distance d0 (dB). (Default is Friis at 1m with 5.15 GHz)", DoubleValue (46.6777), MakeDoubleAccessor (&ThreeLogDistancePropagationLossModel::m_referenceLoss), MakeDoubleChecker<double> ()) ; return tid; }
TypeId RedQueue::GetTypeId (void) { static TypeId tid = TypeId ("ns3::RedQueue") .SetParent<Queue> () .AddConstructor<RedQueue> () .AddAttribute ("Mode", "Determines unit for QueueLimit", EnumValue (QUEUE_MODE_PACKETS), MakeEnumAccessor (&RedQueue::SetMode), MakeEnumChecker (QUEUE_MODE_BYTES, "QUEUE_MODE_BYTES", QUEUE_MODE_PACKETS, "QUEUE_MODE_PACKETS")) .AddAttribute ("MeanPktSize", "Average of packet size", UintegerValue (500), MakeUintegerAccessor (&RedQueue::m_meanPktSize), MakeUintegerChecker<uint32_t> ()) .AddAttribute ("IdlePktSize", "Average packet size used during idle times. Used when m_cautions = 3", UintegerValue (0), MakeUintegerAccessor (&RedQueue::m_idlePktSize), MakeUintegerChecker<uint32_t> ()) .AddAttribute ("Wait", "True for waiting between dropped packets", BooleanValue (true), MakeBooleanAccessor (&RedQueue::m_isWait), MakeBooleanChecker ()) .AddAttribute ("Gentle", "True to increases dropping probability slowly when average queue exceeds maxthresh", BooleanValue (true), MakeBooleanAccessor (&RedQueue::m_isGentle), MakeBooleanChecker ()) .AddAttribute ("MinTh", "Minimum average length threshold in packets/bytes", DoubleValue (5), MakeDoubleAccessor (&RedQueue::m_minTh), MakeDoubleChecker<double> ()) .AddAttribute ("MaxTh", "Maximum average length threshold in packets/bytes", DoubleValue (15), MakeDoubleAccessor (&RedQueue::m_maxTh), MakeDoubleChecker<double> ()) .AddAttribute ("QueueLimit", "Queue limit in bytes/packets", UintegerValue (25), MakeUintegerAccessor (&RedQueue::m_queueLimit), MakeUintegerChecker<uint32_t> ()) .AddAttribute ("QW", "Queue weight related to the exponential weighted moving average (EWMA)", DoubleValue (0.002), MakeDoubleAccessor (&RedQueue::m_qW), MakeDoubleChecker <double> ()) .AddAttribute ("LInterm", "The maximum probability of dropping a packet", DoubleValue (50), MakeDoubleAccessor (&RedQueue::m_lInterm), MakeDoubleChecker <double> ()) .AddAttribute ("Ns1Compat", "NS-1 compatibility", BooleanValue (false), MakeBooleanAccessor (&RedQueue::m_isNs1Compat), MakeBooleanChecker ()) .AddAttribute ("LinkBandwidth", "The RED link bandwidth", DataRateValue (DataRate ("1.5Mbps")), MakeDataRateAccessor (&RedQueue::m_linkBandwidth), MakeDataRateChecker ()) .AddAttribute ("LinkDelay", "The RED link delay", TimeValue (MilliSeconds (20)), MakeTimeAccessor (&RedQueue::m_linkDelay), MakeTimeChecker ()) ; return tid; }