@@ -272,6 +272,7 @@ impl<Config: endpoint::Config> ConnectionImpl<Config> {
272
272
subscriber : & mut Config :: EventSubscriber ,
273
273
datagram : & mut Config :: DatagramEndpoint ,
274
274
dc : & mut Config :: DcEndpoint ,
275
+ limits : & mut Config :: ConnectionLimits ,
275
276
) -> Result < ( ) , connection:: Error > {
276
277
let mut publisher = self . event_context . publisher ( timestamp, subscriber) ;
277
278
let space_manager = & mut self . space_manager ;
@@ -285,6 +286,7 @@ impl<Config: endpoint::Config> ConnectionImpl<Config> {
285
286
& mut publisher,
286
287
datagram,
287
288
dc,
289
+ limits,
288
290
) {
289
291
Poll :: Ready ( Ok ( ( ) ) ) => { }
290
292
// use `from` instead of `into` so the location is correctly captured
@@ -658,6 +660,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
658
660
parameters. event_subscriber ,
659
661
parameters. datagram_endpoint ,
660
662
parameters. dc_endpoint ,
663
+ parameters. limits_endpoint ,
661
664
) {
662
665
connection. with_event_publisher (
663
666
parameters. timestamp ,
@@ -1128,12 +1131,13 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1128
1131
subscriber : & mut Config :: EventSubscriber ,
1129
1132
datagram : & mut Config :: DatagramEndpoint ,
1130
1133
dc : & mut Config :: DcEndpoint ,
1134
+ conn_limits : & mut Config :: ConnectionLimits ,
1131
1135
) -> Result < ( ) , connection:: Error > {
1132
1136
// reset the queued state first so that new wakeup request are not missed
1133
1137
self . wakeup_handle . wakeup_handled ( ) ;
1134
1138
1135
1139
// check if crypto progress can be made
1136
- self . update_crypto_state ( timestamp, subscriber, datagram, dc) ?;
1140
+ self . update_crypto_state ( timestamp, subscriber, datagram, dc, conn_limits ) ?;
1137
1141
1138
1142
// return an error if the application set one
1139
1143
self . error ?;
@@ -1220,6 +1224,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1220
1224
packet_interceptor : & mut Config :: PacketInterceptor ,
1221
1225
datagram_endpoint : & mut Config :: DatagramEndpoint ,
1222
1226
dc_endpoint : & mut Config :: DcEndpoint ,
1227
+ connection_limits_endpoint : & mut Config :: ConnectionLimits ,
1223
1228
) -> Result < ( ) , ProcessingError > {
1224
1229
//= https://www.rfc-editor.org/rfc/rfc9000#section-7.2
1225
1230
//= type=TODO
@@ -1261,6 +1266,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1261
1266
packet_interceptor,
1262
1267
datagram_endpoint,
1263
1268
dc_endpoint,
1269
+ connection_limits_endpoint,
1264
1270
) ?;
1265
1271
}
1266
1272
@@ -1278,6 +1284,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1278
1284
packet_interceptor : & mut Config :: PacketInterceptor ,
1279
1285
datagram_endpoint : & mut Config :: DatagramEndpoint ,
1280
1286
dc_endpoint : & mut Config :: DcEndpoint ,
1287
+ connection_limits_endpoint : & mut Config :: ConnectionLimits ,
1281
1288
) -> Result < ( ) , ProcessingError > {
1282
1289
if let Some ( ( space, handshake_status) ) = self . space_manager . initial_mut ( ) {
1283
1290
let mut publisher = self . event_context . publisher ( datagram. timestamp , subscriber) ;
@@ -1339,6 +1346,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1339
1346
subscriber,
1340
1347
datagram_endpoint,
1341
1348
dc_endpoint,
1349
+ connection_limits_endpoint,
1342
1350
) ?;
1343
1351
1344
1352
// notify the connection a packet was processed
@@ -1359,6 +1367,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1359
1367
packet_interceptor : & mut Config :: PacketInterceptor ,
1360
1368
datagram_endpoint : & mut Config :: DatagramEndpoint ,
1361
1369
dc_endpoint : & mut Config :: DcEndpoint ,
1370
+ connection_limits_endpoint : & mut Config :: ConnectionLimits ,
1362
1371
) -> Result < ( ) , ProcessingError > {
1363
1372
let mut publisher = self . event_context . publisher ( datagram. timestamp , subscriber) ;
1364
1373
@@ -1444,6 +1453,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1444
1453
subscriber,
1445
1454
datagram_endpoint,
1446
1455
dc_endpoint,
1456
+ connection_limits_endpoint,
1447
1457
) ?;
1448
1458
1449
1459
// notify the connection a packet was processed
@@ -1464,6 +1474,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1464
1474
packet_interceptor : & mut Config :: PacketInterceptor ,
1465
1475
datagram_endpoint : & mut <Self :: Config as endpoint:: Config >:: DatagramEndpoint ,
1466
1476
dc_endpoint : & mut Config :: DcEndpoint ,
1477
+ limits_endpoint : & mut Config :: ConnectionLimits ,
1467
1478
) -> Result < ( ) , ProcessingError > {
1468
1479
let mut publisher = self . event_context . publisher ( datagram. timestamp , subscriber) ;
1469
1480
@@ -1561,6 +1572,7 @@ impl<Config: endpoint::Config> connection::Trait for ConnectionImpl<Config> {
1561
1572
& mut publisher,
1562
1573
datagram_endpoint,
1563
1574
dc_endpoint,
1575
+ limits_endpoint,
1564
1576
) ?;
1565
1577
}
1566
1578
// notify the connection a packet was processed
0 commit comments