|
Lines 88-98
void PacketSink::StartApplication() /
|
Link Here
|
|---|
|
| 88 |
m_socket->SetRecvCallback (MakeCallback(&PacketSink::HandleRead, this)); |
88 |
m_socket->SetRecvCallback (MakeCallback(&PacketSink::HandleRead, this)); |
| 89 |
m_socket->SetAcceptCallback ( |
89 |
m_socket->SetAcceptCallback ( |
| 90 |
MakeNullCallback<bool, Ptr<Socket>, const Address &> (), |
90 |
MakeNullCallback<bool, Ptr<Socket>, const Address &> (), |
| 91 |
MakeNullCallback<void, Ptr<Socket>, const Address&> ()); |
91 |
MakeCallback(&PacketSink::HandleAccept, this)); |
| 92 |
} |
92 |
} |
| 93 |
|
93 |
|
| 94 |
void PacketSink::StopApplication() // Called at time specified by Stop |
94 |
void PacketSink::StopApplication() // Called at time specified by Stop |
| 95 |
{ |
95 |
{ |
|
|
96 |
while(!m_socketList.empty()) //these are accepted sockets, close them |
| 97 |
{ |
| 98 |
Ptr<Socket> acceptedSocket = m_socketList.front(); |
| 99 |
m_socketList.pop_front(); |
| 100 |
acceptedSocket->Close(); |
| 101 |
} |
| 96 |
if (m_socket) |
102 |
if (m_socket) |
| 97 |
{ |
103 |
{ |
| 98 |
m_socket->Close (); |
104 |
m_socket->Close (); |
|
Lines 117-120
void PacketSink::HandleRead (Ptr<Socket>
|
Link Here
|
|---|
|
| 117 |
} |
123 |
} |
| 118 |
} |
124 |
} |
| 119 |
|
125 |
|
|
|
126 |
void PacketSink::HandleAccept (Ptr<Socket> s, const Address& from) |
| 127 |
{ |
| 128 |
m_socketList.push_back(s); |
| 129 |
} |
| 130 |
|
| 120 |
} // Namespace ns3 |
131 |
} // Namespace ns3 |