113 { |
113 { |
114 BenchHeader<25> ipv4; |
114 BenchHeader<25> ipv4; |
115 BenchHeader<8> udp; |
115 BenchHeader<8> udp; |
116 |
116 |
117 for (uint32_t i = 0; i < n; i++) { |
117 for (uint32_t i = 0; i < n; i++) { |
118 Packet p (2000); |
118 Ptr<Packet> p = Create<Packet> (2000); |
119 p.AddHeader (udp); |
119 p->AddHeader (udp); |
120 p.AddHeader (ipv4); |
120 p->AddHeader (ipv4); |
121 Packet o = p; |
121 Ptr<Packet> o = p->Copy (); |
122 o.RemoveHeader (ipv4); |
122 o->RemoveHeader (ipv4); |
123 o.RemoveHeader (udp); |
123 o->RemoveHeader (udp); |
124 } |
124 } |
125 } |
125 } |
126 |
126 |
127 static void |
127 static void |
128 benchPtrB (uint32_t n) |
128 benchPtrB (uint32_t n) |
129 { |
129 { |
130 BenchHeader<25> ipv4; |
130 BenchHeader<25> ipv4; |
131 BenchHeader<8> udp; |
131 BenchHeader<8> udp; |
132 |
132 |
133 for (uint32_t i = 0; i < n; i++) { |
133 for (uint32_t i = 0; i < n; i++) { |
134 Packet p (2000); |
134 Ptr<Packet> p = Create<Packet> (2000); |
135 p.AddHeader (udp); |
135 p->AddHeader (udp); |
136 p.AddHeader (ipv4); |
136 p->AddHeader (ipv4); |
137 } |
137 } |
138 } |
138 } |
139 |
139 |
140 static void |
140 static void |
141 ptrC2 (Packet p) |
141 ptrC2 (Ptr<Packet> p) |
142 { |
142 { |
143 BenchHeader<8> udp; |
143 BenchHeader<8> udp; |
144 |
144 |
145 p.RemoveHeader (udp); |
145 p->RemoveHeader (udp); |
146 } |
146 } |
147 |
147 |
148 static void |
148 static void |
149 ptrC1 (Packet p) |
149 ptrC1 (Ptr<Packet> p) |
150 { |
150 { |
151 BenchHeader<25> ipv4; |
151 BenchHeader<25> ipv4; |
152 p.RemoveHeader (ipv4); |
152 p->RemoveHeader (ipv4); |
153 ptrC2 (p); |
153 ptrC2 (p); |
154 } |
154 } |
155 |
155 |
156 static void |
156 static void |
157 benchPtrC (uint32_t n) |
157 benchPtrC (uint32_t n) |
158 { |
158 { |
159 BenchHeader<25> ipv4; |
159 BenchHeader<25> ipv4; |
160 BenchHeader<8> udp; |
160 BenchHeader<8> udp; |
161 |
161 |
162 for (uint32_t i = 0; i < n; i++) { |
162 for (uint32_t i = 0; i < n; i++) { |
163 Packet p (2000); |
163 Ptr<Packet> p = Create<Packet> (2000); |
164 p.AddHeader (udp); |
164 p->AddHeader (udp); |
165 p.AddHeader (ipv4); |
165 p->AddHeader (ipv4); |
166 ptrC1 (p); |
166 ptrC1 (p); |
167 } |
167 } |
168 } |
168 } |
169 |
169 |
170 #if 0 |
170 #if 0 |
171 static void |
171 static void |
172 benchPrint (uint32_t n) |
172 benchPrint (uint32_t n) |
173 { |
173 { |
174 PacketPrinter printer; |
174 PacketPrinter printer; |
175 BenchHeader<25> ipv4; |
175 BenchHeader<25> ipv4; |
176 BenchHeader<8> udp; |
176 BenchHeader<8> udp; |
177 Packet p (2000); |
177 Ptr<Packet> p = Create<Packet> (2000); |
178 p.AddHeader (udp); |
178 p->AddHeader (udp); |
179 p.AddHeader (ipv4); |
179 p->AddHeader (ipv4); |
180 |
180 |
181 for (uint32_t i = 0; i < n; i++) |
181 for (uint32_t i = 0; i < n; i++) |
182 { |
182 { |
183 p.Print (std::cerr, printer); |
183 p->Print (std::cerr, printer); |
184 } |
184 } |
185 } |
185 } |
186 #endif |
186 #endif |
187 |
187 |
188 |
188 |