LEFT | RIGHT |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2007 Georgia Tech Research Corporation | 3 * Copyright (c) 2007 Georgia Tech Research Corporation |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 uint16_t sport, uint16_t dport, Ptr<NetDevice> oif = 0); | 97 uint16_t sport, uint16_t dport, Ptr<NetDevice> oif = 0); |
98 /** | 98 /** |
99 * \brief Receive a packet up the protocol stack | 99 * \brief Receive a packet up the protocol stack |
100 * \param p The Packet to dump the contents into | 100 * \param p The Packet to dump the contents into |
101 * \param source The source's Ipv4Address | 101 * \param source The source's Ipv4Address |
102 * \param destination The destinations Ipv4Address | 102 * \param destination The destinations Ipv4Address |
103 * \param header IPv4 Header information | 103 * \param header IPv4 Header information |
104 * \param incomingInterface The Ipv4Interface it was received on | 104 * \param incomingInterface The Ipv4Interface it was received on |
105 */ | 105 */ |
106 virtual enum Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p, | 106 virtual enum Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p, |
107 Ipv4Address const &source, | |
108 Ipv4Address const &destination, | |
109 Ipv4Header const &header, | 107 Ipv4Header const &header, |
110 Ptr<Ipv4Interface> incomingInte
rface); | 108 Ptr<Ipv4Interface> incomingInte
rface); |
111 | 109 |
112 protected: | 110 protected: |
113 virtual void DoDispose (void); | 111 virtual void DoDispose (void); |
114 /*· | 112 /*· |
115 * This function will notify other components connected to the node that a new
stack member is now connected | 113 * This function will notify other components connected to the node that a new
stack member is now connected |
116 * This will be used to notify Layer 3 protocol of layer 4 protocol stack to c
onnect them together. | 114 * This will be used to notify Layer 3 protocol of layer 4 protocol stack to c
onnect them together. |
117 */ | 115 */ |
118 virtual void NotifyNewAggregate (); | 116 virtual void NotifyNewAggregate (); |
119 private: | 117 private: |
120 Ptr<Node> m_node; | 118 Ptr<Node> m_node; |
121 Ipv4EndPointDemux *m_endPoints; | 119 Ipv4EndPointDemux *m_endPoints; |
122 ObjectFactory m_rttFactory; | 120 ObjectFactory m_rttFactory; |
123 private: | 121 private: |
124 friend class TcpSocketImpl; | 122 friend class TcpSocketImpl; |
125 void SendPacket (Ptr<Packet>, const TcpHeader &, | 123 void SendPacket (Ptr<Packet>, const TcpHeader &, |
126 Ipv4Address, Ipv4Address, Ptr<NetDevice> oif = 0); | 124 Ipv4Address, Ipv4Address, Ptr<NetDevice> oif = 0); |
127 static ObjectFactory GetDefaultRttEstimatorFactory (void); | 125 static ObjectFactory GetDefaultRttEstimatorFactory (void); |
128 TcpL4Protocol (const TcpL4Protocol &o); | 126 TcpL4Protocol (const TcpL4Protocol &o); |
129 TcpL4Protocol &operator = (const TcpL4Protocol &o); | 127 TcpL4Protocol &operator = (const TcpL4Protocol &o); |
130 | 128 |
131 std::vector<Ptr<TcpSocketImpl> > m_sockets; | 129 std::vector<Ptr<TcpSocketImpl> > m_sockets; |
132 }; | 130 }; |
133 | 131 |
134 }; // namespace ns3 | 132 }; // namespace ns3 |
135 | 133 |
136 #endif /* TCP_L4_PROTOCOL_H */ | 134 #endif /* TCP_L4_PROTOCOL_H */ |
LEFT | RIGHT |