equal
deleted
inserted
replaced
99 m_socket = socketFactory->CreateSocket (); |
99 m_socket = socketFactory->CreateSocket (); |
100 m_socket->Bind (); |
100 m_socket->Bind (); |
101 m_socket->Connect (m_peer); |
101 m_socket->Connect (m_peer); |
102 } |
102 } |
103 |
103 |
104 m_socket->SetRecvCallback((Callback<void, Ptr<Socket>, const Packet &, |
104 m_socket->SetRecvCallback(MakeCallback(&UdpEchoClient::Receive, this)); |
105 const Address &>) MakeCallback(&UdpEchoClient::Receive, this)); |
|
106 |
105 |
107 ScheduleTransmit (Seconds(0.)); |
106 ScheduleTransmit (Seconds(0.)); |
108 } |
107 } |
109 |
108 |
110 void |
109 void |
112 { |
111 { |
113 NS_LOG_FUNCTION; |
112 NS_LOG_FUNCTION; |
114 |
113 |
115 if (!m_socket) |
114 if (!m_socket) |
116 { |
115 { |
117 m_socket->SetRecvCallback((Callback<void, Ptr<Socket>, const Packet &, |
116 m_socket->SetRecvCallback(MakeNullCallback<void, Ptr<Socket>, Ptr<Packet>, |
118 const Address &>) NULL); |
117 const Address &> ()); |
119 } |
118 } |
120 |
119 |
121 Simulator::Cancel(m_sendEvent); |
120 Simulator::Cancel(m_sendEvent); |
122 } |
121 } |
123 |
122 |
133 { |
132 { |
134 NS_LOG_FUNCTION; |
133 NS_LOG_FUNCTION; |
135 |
134 |
136 NS_ASSERT (m_sendEvent.IsExpired ()); |
135 NS_ASSERT (m_sendEvent.IsExpired ()); |
137 |
136 |
138 Packet p (m_size); |
137 Ptr<Packet> p = Create<Packet> (m_size); |
139 m_socket->Send (p); |
138 m_socket->Send (p); |
140 ++m_sent; |
139 ++m_sent; |
141 |
140 |
142 NS_LOG_INFO ("Sent " << m_size << " bytes to " << m_serverAddress); |
141 NS_LOG_INFO ("Sent " << m_size << " bytes to " << m_serverAddress); |
143 |
142 |
148 } |
147 } |
149 |
148 |
150 void |
149 void |
151 UdpEchoClient::Receive( |
150 UdpEchoClient::Receive( |
152 Ptr<Socket> socket, |
151 Ptr<Socket> socket, |
153 const Packet &packet, |
152 Ptr<Packet> packet, |
154 const Address &from) |
153 const Address &from) |
155 { |
154 { |
156 NS_LOG_FUNCTION; |
155 NS_LOG_FUNCTION; |
157 NS_LOG_PARAM ("(" << socket << ", " << packet << ", " << from << ")"); |
156 NS_LOG_PARAM ("(" << socket << ", " << packet << ", " << from << ")"); |
158 |
157 |
159 if (InetSocketAddress::IsMatchingType (from)) |
158 if (InetSocketAddress::IsMatchingType (from)) |
160 { |
159 { |
161 InetSocketAddress address = InetSocketAddress::ConvertFrom (from); |
160 InetSocketAddress address = InetSocketAddress::ConvertFrom (from); |
162 NS_LOG_INFO ("Received " << packet.GetSize() << " bytes from " << |
161 NS_LOG_INFO ("Received " << packet->GetSize() << " bytes from " << |
163 address.GetIpv4()); |
162 address.GetIpv4()); |
164 } |
163 } |
165 } |
164 } |
166 |
165 |
167 |
166 |