104 |
104 |
105 // inherited from NetDevice |
105 // inherited from NetDevice |
106 virtual bool DoNeedsArp (void) const; |
106 virtual bool DoNeedsArp (void) const; |
107 virtual Ptr<Channel> DoGetChannel (void) const; |
107 virtual Ptr<Channel> DoGetChannel (void) const; |
108 virtual bool SendTo (Ptr<Packet> packet, const Address &to, uint16_t protocolNumber); |
108 virtual bool SendTo (Ptr<Packet> packet, const Address &to, uint16_t protocolNumber); |
109 // inherited from Object |
|
110 virtual Ptr<TraceResolver> GetTraceResolver (void) const; |
|
111 // defined for children |
109 // defined for children |
112 virtual void NotifyAttached (void) = 0; |
110 virtual void NotifyAttached (void) = 0; |
113 virtual bool DoSendTo (Ptr<const Packet> packet, const Mac48Address &to) = 0; |
111 virtual bool DoSendTo (Ptr<const Packet> packet, const Mac48Address &to) = 0; |
114 // private helper |
112 // private helper |
115 void Construct (void); |
113 void Construct (void); |
116 |
114 |
117 CallbackTraceSource<Ptr<const Packet>, Mac48Address> m_rxLogger; |
115 CallbackTraceSource<Ptr<const Packet>, Mac48Address> m_rxLogger; |
118 CallbackTraceSource<Ptr<const Packet>, Mac48Address> m_txLogger; |
116 CallbackTraceSource<Ptr<const Packet>, Mac48Address> m_txLogger; |
119 protected: |
117 protected: |
|
118 // inherited from Object |
|
119 virtual Ptr<TraceResolver> GetTraceResolver (void) const; |
120 WifiNetDevice (Ptr<Node> node); |
120 WifiNetDevice (Ptr<Node> node); |
121 WifiNetDevice (Ptr<Node> node, Mac48Address self); |
121 WifiNetDevice (Ptr<Node> node, Mac48Address self); |
122 void DoForwardUp (Ptr<Packet> packet, const Mac48Address &from); |
122 void DoForwardUp (Ptr<Packet> packet, const Mac48Address &from); |
123 DcaTxop *CreateDca (uint32_t minCw, uint32_t maxCw, uint32_t aifsn) const; |
123 Ptr<DcaTxop> CreateDca (uint32_t minCw, uint32_t maxCw, uint32_t aifsn) const; |
124 // inherited from Object |
124 // inherited from Object |
125 virtual void DoDispose (void); |
125 virtual void DoDispose (void); |
126 |
126 |
127 Ptr<WifiChannel> m_channel; |
127 Ptr<WifiChannel> m_channel; |
128 Ptr<WifiPhy> m_phy; |
128 Ptr<WifiPhy> m_phy; |
129 MacStations *m_stations; |
129 MacStations *m_stations; |
130 MacLow *m_low; |
130 Ptr<MacLow> m_low; |
131 MacRxMiddle *m_rxMiddle; |
131 MacRxMiddle *m_rxMiddle; |
132 MacTxMiddle *m_txMiddle; |
132 MacTxMiddle *m_txMiddle; |
133 MacParameters *m_parameters; |
133 MacParameters *m_parameters; |
134 DcfManager *m_manager; |
134 DcfManager *m_manager; |
135 PhyListener *m_phyListener; |
135 PhyListener *m_phyListener; |
159 void DoConstruct (void); |
159 void DoConstruct (void); |
160 void ForwardUp (void); |
160 void ForwardUp (void); |
161 // inherited from WifiNetDefice |
161 // inherited from WifiNetDefice |
162 virtual bool DoSendTo (Ptr<const Packet> packet, Mac48Address const & to); |
162 virtual bool DoSendTo (Ptr<const Packet> packet, Mac48Address const & to); |
163 virtual void NotifyAttached (void); |
163 virtual void NotifyAttached (void); |
|
164 virtual Ptr<TraceResolver> GetTraceResolver (void) const; |
164 |
165 |
165 Ssid m_ssid; |
166 Ssid m_ssid; |
166 DcaTxop *m_dca; |
167 Ptr<DcaTxop> m_dca; |
167 MacHighAdhoc *m_high; |
168 MacHighAdhoc *m_high; |
168 }; |
169 }; |
169 |
170 |
170 /** |
171 /** |
171 * \brief a 802.11 STA network interface |
172 * \brief a 802.11 STA network interface |
205 void Associated (void); |
206 void Associated (void); |
206 void DisAssociated (void); |
207 void DisAssociated (void); |
207 // inherited from WifiNetDefice |
208 // inherited from WifiNetDefice |
208 virtual bool DoSendTo (Ptr<const Packet> packet, Mac48Address const & to); |
209 virtual bool DoSendTo (Ptr<const Packet> packet, Mac48Address const & to); |
209 virtual void NotifyAttached (void); |
210 virtual void NotifyAttached (void); |
|
211 virtual Ptr<TraceResolver> GetTraceResolver (void) const; |
210 |
212 |
211 Ssid m_ssid; |
213 Ssid m_ssid; |
212 DcaTxop *m_dca; |
214 Ptr<DcaTxop> m_dca; |
213 MacHighNqsta *m_high; |
215 MacHighNqsta *m_high; |
214 }; |
216 }; |
215 |
217 |
216 /** |
218 /** |
217 * \brief a 802.11 AP network interface |
219 * \brief a 802.11 AP network interface |