dc/s2n-quic-dc/src/path/secret/map/state.rs (12 lines): - line 197: // FIXME: This will get replaced with sending on a handshake socket associated with the map. - line 247: // FIXME: Avoid unwrap and the whole socket. - line 269: // FIXME: Allow configuring the rehandshake_period. - line 382: // FIXME: Maybe panic if already initialized? - line 439: // FIXME: More actively schedule a new handshake. - line 601: // FIXME: Make insertion fallible and fail handshakes instead? - line 615: // FIXME: Consider a more interesting algorithm, e.g., scanning the first N entries - line 645: // FIXME: Make insertion fallible and fail handshakes instead? - line 683: // FIXME: Maybe panic if already initialized? - line 760: // no action for now. FIXME: Add metrics. - line 763: // no action for now. FIXME: Add metrics. - line 766: // no action for now. FIXME: Add metrics. quic/s2n-quic-transport/src/endpoint/mod.rs (8 lines): - line 241: // TODO report that the connection was not successfully created - line 242: // TODO emit event - line 299: // TODO make this limit configurable - line 553: // TODO validate the connection ID before looking up the connection in the map - line 760: // TODO send a minimal connection close frame - line 983: // FIXME: Deduplication causes us to return full `Connection` handles to application - line 1049: // TODO: the client currently generates a random stateless_reset_token but doesnt - line 1190: // TODO should SNI be optional? rustls expects a SNI but other tls providers dont seem dc/wireshark/src/dissect.rs (7 lines): - line 106: // FIXME: Actually decode the 32 bit value? - line 303: // TODO fix the tests to not assume a single occurrence of each field - line 313: // FIXME: Look into using FT_FRAMENUM, but that is limited to 32-bit numbers, so - line 317: // TODO fix the tests to not assume a single occurrence of each field - line 344: // TODO fix the tests to not assume a single occurrence of each field - line 355: // TODO fix the tests to not assume a single occurrence of each field - line 375: // FIXME: add "other" handling quic/s2n-quic-qns/src/client/interop.rs (6 lines): - line 222: // TODO make it optional - line 238: // TODO add the ability to override the QUIC version - line 242: // TODO enable _only_ chacha20 on supported ciphersuites - line 244: // TODO add the ability to trigger a key update from the application - line 248: // TODO implement 0rtt - line 253: // TODO support the ability to actively migrate on the client quic/s2n-quic-transport/src/path/manager.rs (6 lines): - line 113: // TODO: add an event if active path update fails due to insufficient ids - line 127: // TODO: https://github.com/aws/s2n-quic/issues/711 - line 342: // TODO set alpn if available - line 388: // TODO: Support deletion of old paths: https://github.com/aws/s2n-quic/issues/741 - line 555: // TODO Add in per-path constraints based on whether a Challenge needs to be - line 723: // TODO invalidate any tokens issued under this connection id dc/s2n-quic-dc/src/stream/recv/dispatch.rs (5 lines): - line 130: // TODO increment metrics - line 163: // TODO increment metrics - line 240: // TODO reset the destination queue - currently secret control packets don't have queue_ids - line 251: // TODO reset the destination queue - currently secret control packets don't have queue_ids - line 262: // TODO reset the destination queue - currently secret control packets don't have queue_ids quic/s2n-quic-core/src/sync/spsc/tests.rs (5 lines): - line 315: // TODO The async rx loom tests seem to take an unbounded amount if time if the batch count/size is - line 323: #[cfg_attr(miri, ignore)] // TODO https://github.com/aws/s2n-quic/issues/1635 - line 333: #[cfg_attr(miri, ignore)] // TODO https://github.com/aws/s2n-quic/issues/1635 - line 343: #[cfg_attr(miri, ignore)] // TODO https://github.com/aws/s2n-quic/issues/1635 - line 353: #[cfg_attr(miri, ignore)] // TODO https://github.com/aws/s2n-quic/issues/1635 dc/s2n-quic-dc/src/stream/recv/state.rs (5 lines): - line 461: // TODO process control data - line 467: // TODO should we perform loss detection on the receiver and reset the stream if we have a big - line 542: // TODO should we pull this from somewhere - line 550: // TODO how do we decide what to send on control messages - line 710: // TODO compute this by storing the time that we received the max packet number quic/s2n-quic-rustls/src/client.rs (5 lines): - line 47: // TODO this will currently panic since there is no default root cert - line 54: // TODO this should be removed after removing deprecated re-exports - line 61: // TODO this should be removed after removing deprecated re-exports - line 142: // TODO is there a way to configure this? - line 161: // TODO load system root store? dc/s2n-quic-dc/src/stream/send/state.rs (5 lines): - line 578: // TODO create a path and publisher - line 762: // TODO where does this come from - line 1069: // TODO store this as part of the packet queue - line 1181: // TODO store this as part of the packet queue - line 1277: // TODO push buffer into free segment queue quic/s2n-quic-transport/src/space/application.rs (5 lines): - line 57: /// TODO: Spin me - line 68: /// TODO: What about ZeroRtt? - line 175: // TODO Does this interact negatively with persistent congestion detection, which - line 189: // TODO Does this interact negatively with persistent congestion detection, which - line 986: // TODO add support for the NEW_TOKEN_FRAME on the client quic/s2n-quic-transport/src/connection/transmission.rs (5 lines): - line 65: // TODO return delay from pacer - line 71: // TODO compute flow label from connection id - line 239: // TODO handle this - line 279: // TODO handle this - line 364: // TODO handle this dc/s2n-quic-dc/src/stream/recv/worker.rs (4 lines): - line 118: // TODO should we return? if we get a send error it's most likely fatal - line 124: // TODO should we return? if we get a recv error it's most likely fatal - line 194: // TODO instead of arming a timer, we should add a mode to the `stream` receiver - line 378: // TODO do we derive this from RTT? dc/wireshark/xtask/src/main.rs (4 lines): - line 36: // TODO port this script to rust - line 129: // TODO add more - line 132: // TODO figure out why this isn't parsing as dcQUIC - line 160: // TODO fix the TCP implementation quic/s2n-quic/src/provider/tls.rs (4 lines): - line 73: // TODO support private key - line 117: // TODO support private key - line 161: // TODO support private key - line 239: // TODO stub out default that fails with error when started common/s2n-codec/src/decoder/mod.rs (4 lines): - line 191: // TODO add doctest - line 212: // TODO add doctest - line 227: // TODO add doctest - line 421: InvariantViolation(&'static str), // TODO replace with a &'static Invariant dc/s2n-quic-dc/src/packet/stream/encoder.rs (3 lines): - line 19: // TODO make sure this is accurate - line 246: // TODO compute payload len for the given encoder - line 256: // TODO figure out encoding size for the capacity quic/s2n-quic-transport/src/stream/manager.rs (3 lines): - line 506: // TODO: This is now no longer outside the Mutex - line 543: // TODO: This currently wakes the connection task while inside the connection Mutex. - line 969: Ok(()) // TODO: Implement me dc/s2n-quic-dc/src/stream/application.rs (3 lines): - line 50: // TODO emit event - line 73: // TODO emit event - line 102: // TODO emit event quic/s2n-quic-h3/src/s2n_quic.rs (3 lines): - line 371: buf: Option>, // TODO: Replace with buf: PhantomData - line 430: // TODO: Replace with following after https://github.com/hyperium/h3/issues/78 is resolved - line 443: // TODO: Replace with following after https://github.com/hyperium/h3/issues/78 is resolved quic/s2n-quic/src/stream/receive.rs (3 lines): - line 284: // TODO investigate a better default number - line 322: // TODO investigate a better default number - line 366: // TODO investigate a better default number quic/s2n-quic-transport/src/stream/api.rs (3 lines): - line 311: // TODO query the shared state - line 383: // TODO query the shared state - line 427: // TODO query the shared state dc/s2n-quic-dc/src/socket/recv/router/with_map.rs (3 lines): - line 110: // TODO check if the packet was authentic before forwarding the packet on to inner - line 124: // TODO check if the packet was authentic before forwarding the packet on to inner - line 139: // TODO check if the packet was authentic before forwarding the packet on to inner quic/s2n-quic/src/provider/address_token/default.rs (3 lines): - line 63: // TODO in addition to generating new key material, clear out the filter used for detecting - line 69: // TODO clear the filter instead of recreating. This is pending a merge to crates.io - line 152: // TODO either clear the duplicate filter here, or implement in the BaseKey logic dc/s2n-quic-dc/src/stream/send/flow/non_blocking.rs (3 lines): - line 33: // TODO add a list for the `acquire` future wakers - line 167: Ordering::Release, // TODO is this the correct ordering? - line 235: // TODO support more than one Waker via intrusive list or something quic/s2n-quic-transport/src/ack/ack_transmission_state.rs (2 lines): - line 88: // TODO: 2 was chosen as an initial hunch - we need to do some experiments to improve - line 99: // TODO: 10 was chosen as an initial hunch - we need to do some experiments to improve quic/s2n-quic-transport/src/connection/connection_impl.rs (2 lines): - line 1106: // TODO: enable this check once all of the component timers are fixed - line 1700: // FIXME: replace with PacketHeader::new when we support zero-rtt. quic/s2n-quic-core/src/ack/settings.rs (2 lines): - line 11: // TODO experiment more with this - line 15: // TODO experiment more with this quic/s2n-quic-transport/src/recovery/manager.rs (2 lines): - line 73: // TODO: Determine if there is a more appropriate default - line 891: // TODO merge contiguous packet numbers dc/s2n-quic-dc/src/path/secret/map/handshake.rs (2 lines): - line 60: // TODO: Maybe we should confirm that the sender IP at least matches the IP for the - line 121: // TODO: support multiple stateless reset tokens quic/s2n-quic-transport/src/space/initial.rs (2 lines): - line 171: // TODO Does this interact negatively with persistent congestion detection, which - line 491: // TODO make this configurable: dc/s2n-quic-dc/src/msg/cmsg.rs (2 lines): - line 11: // TODO calculate based on platform support - line 16: // TODO calculate based on platform support dc/s2n-quic-dc/src/path/secret/map/status.rs (2 lines): - line 51: // TODO potentially record a timestamp of when this was created to try and detect long - line 78: // Dedup has been poisoned! TODO log this quic/s2n-quic-core/src/packet/interceptor.rs (2 lines): - line 19: /// TODO add `non_exhaustive` once/if this feature is stable - line 26: /// TODO add `non_exhaustive` once/if this feature is stable dc/s2n-quic-dc/src/stream/server/tokio/tcp/worker.rs (2 lines): - line 144: // TODO emit an event - line 189: // TODO emit event on the context quic/s2n-quic-platform/build.rs (2 lines): - line 114: // TODO others - line 118: // TODO: Uncomment once MSRV is 1.80.0, see https://github.com/aws/s2n-quic/issues/2334 quic/s2n-quic/src/client/providers.rs (2 lines): - line 103: // TODO: Add more validation https://github.com/aws/s2n-quic/issues/285 - line 317: // TODO allow users to specify another lock type dc/s2n-quic-dc/src/path/secret/map/state/tests.rs (2 lines): - line 211: // FIXME: this requires a clean() call which may have not happened yet. - line 314: // FIXME: this ends up 2**16 peers in the `peers` map dc/s2n-quic-dc/src/stream/send/flow/blocking.rs (2 lines): - line 84: // TODO check for an error - line 244: // TODO the Mutex mechanism doesn't fairly distribute between workers so don't make this dc/s2n-quic-dc/src/stream/server/tokio/tcp/manager.rs (2 lines): - line 170: // TODO: we need to investigate how this interacts with SYN cookies/retries and fast - line 239: // FIXME: This currently hardcodes the min/max to try to avoid issues with very fast or quic/s2n-quic-qns/src/client/perf.rs (2 lines): - line 82: // TODO allow skipping setting the server_name - line 86: // TODO support a richer connection strategy dc/s2n-quic-dc/src/stream/server/tokio/tcp/fresh.rs (2 lines): - line 35: // TODO: investigate getting the current length and dropping the front of the queue rather - line 71: // TODO submit to a separate error channel that the application can subscribe dc/s2n-quic-dc/src/stream/client/tokio.rs (2 lines): - line 36: // TODO potentially branch on not using the recv pool if we're under a certain concurrency? - line 143: // TODO replace this with a parameter once everything is in place dc/s2n-quic-dc/src/stream/server/udp.rs (2 lines): - line 122: id: 0, // TODO use an actual connection ID - line 142: // TODO is it better to accept this inline or send it off to another queue? quic/s2n-quic/src/server/providers.rs (2 lines): - line 115: // TODO: Add more validation https://github.com/aws/s2n-quic/issues/285 - line 287: // TODO allow users to specify another lock type quic/s2n-quic-core/src/havoc.rs (2 lines): - line 492: // TODO ACK - line 653: // TODO implement this without allocating a bunch for the entries quic/s2n-quic-core/events/common.rs (2 lines): - line 767: // TODO expose connection level mtu config. - line 768: // TODO expose the remote address. dc/s2n-quic-dc/src/stream/send/application.rs (2 lines): - line 258: // TODO enqueue a full flush of any pending transmissions before - line 314: // TODO what do we want to do when we are panicking? dc/s2n-quic-dc/src/stream/recv/shared.rs (2 lines): - line 295: // TODO wake the worker - line 615: // TODO if the packet was authentic then close the receiver with an error quic/s2n-quic-transport/src/ack/ack_manager.rs (2 lines): - line 313: // TODO update to draft link after published - line 317: // TODO support delayed ack proposal quic/s2n-quic-rustls/src/server.rs (2 lines): - line 52: // TODO this should be removed after removing deprecated re-exports - line 59: // TODO this should be removed after removing deprecated re-exports quic/s2n-quic-transport/src/stream/send_stream.rs (2 lines): - line 522: // TODO: With the implemented changes receiving a MAX_STREAM_DATA - line 898: // TODO determine if the peer has acknowledged the reset dc/s2n-quic-dc/src/recovery.rs (1 line): - line 9: // TODO longer term, it might be a good idea to have the handshake map quic/s2n-quic-core/src/inet/ipv6.rs (1 line): - line 263: // TODO better formatting quic/s2n-quic-core/src/slice.rs (1 line): - line 143: // TODO replace with quic/s2n-quic-core/src/datagram/default.rs (1 line): - line 499: // TODO log this dc/s2n-quic-dc/src/stream/send/tests.rs (1 line): - line 130: // TODO make sure the worker shut down correctly quic/s2n-quic-core/src/recovery/bbr/probe_bw.rs (1 line): - line 676: // TODO: Update this logic based on subsequent draft updates or consider lowering quic/s2n-quic-transport/src/space/crypto_stream.rs (1 line): - line 103: //TODO we need to limit the buffer size here quic/s2n-quic-core/src/token.rs (1 line): - line 86: // TODO implement one for testing dc/s2n-quic-dc/src/socket/recv/descriptor.rs (1 line): - line 59: // TODO use `.addr()` once MSRV is 1.84 dc/s2n-quic-dc/src/stream/shared.rs (1 line): - line 119: // TODO support alternative modes quic/s2n-quic-core/src/recovery/pacing.rs (1 line): - line 28: // TODO: Determine an appropriate value for this that balances improvements to 2nd packet loss and delay quic/s2n-quic/src/tests.rs (1 line): - line 47: // TODO: https://github.com/aws/s2n-quic/issues/1726 quic/s2n-quic-transport/src/endpoint/initial.rs (1 line): - line 124: // TODO handle token with stateless retry quic/s2n-quic-transport/src/path/manager/tests.rs (1 line): - line 1186: // TODO does the below actually work?? investigate quic/s2n-quic-core/src/io/tx.rs (1 line): - line 15: // TODO make this generic over lifetime dc/s2n-quic-dc/src/stream/send/path.rs (1 line): - line 83: // TODO can we store pacing rate in the remaining bits? dc/s2n-quic-dc/src/stream/send/worker.rs (1 line): - line 490: // TODO get this from the ECN controller quic/s2n-quic-platform/src/bpf/ebpf.rs (1 line): - line 43: // TODO other classes quic/s2n-quic-transport/src/connection/api.rs (1 line): - line 42: // TODO print interesting virtual fields quic/s2n-quic-core/src/io/rx.rs (1 line): - line 12: // TODO make this generic over lifetime quic/s2n-quic-platform/src/lib.rs (1 line): - line 18: #[doc(hidden)] // TODO remove this module: https://github.com/aws/s2n-quic/issues/1738 quic/s2n-quic-transport/src/sync/incremental_value_sync.rs (1 line): - line 106: // TODO: Using the 10% threshold means we will overwrite the quic/s2n-quic-core/src/io/event_loop.rs (1 line): - line 83: // TODO use the [pin macro](https://doc.rust-lang.org/std/pin/macro.pin.html) once quic/s2n-quic-core/src/xdp/path.rs (1 line): - line 118: // TODO only compare everything if the other is all filled out dc/s2n-quic-dc/src/congestion.rs (1 line): - line 80: // TODO where do these come from? quic/s2n-quic-platform/src/message/cmsg.rs (1 line): - line 52: // TODO remove this once we split the `reset` traits into TX and RX types tools/xdp/s2n-quic-xdp/src/socket.rs (1 line): - line 34: // TODO store the umem quic/s2n-quic-core/src/xdp/decoder.rs (1 line): - line 179: // TODO parse Hop-by-hop/Options headers, for now we'll just forward the packet on to the OS quic/s2n-quic-core/events/connection.rs (1 line): - line 60: // TODO: many events seem to require PacketHeader. Make it more ergonomic dc/s2n-quic-dc/src/stream/client/rpc.rs (1 line): - line 23: // TODO if the request is large enough, should we spawn a task for it? quic/s2n-quic-transport/src/space/session_context.rs (1 line): - line 379: // TODO: also store the header_key quic/s2n-quic-core/src/recovery/cubic.rs (1 line): - line 375: // TODO: Linux Kernel Cubic implementation uses min RTT, possibly dc/s2n-quic-dc/src/socket/recv/pool.rs (1 line): - line 143: // TODO use `packet.repeat(packet_count)` once stable quic/s2n-quic-core/src/path/mtu.rs (1 line): - line 591: // TODO: Look up current MTU in a cache. If there is a cache hit dc/s2n-quic-dc/src/stream/server/stats.rs (1 line): - line 19: // TODO configure this queue depth? dc/s2n-quic-dc/src/stream/client/bach.rs (1 line): - line 33: // TODO potentially branch on not using the recv pool if we're under a certain concurrency? quic/s2n-quic-qns/src/server/interop.rs (1 line): - line 140: // TODO implement 0rtt quic/s2n-quic-core/src/recovery/bbr/data_rate.rs (1 line): - line 113: #[allow(dead_code)] // TODO: See note in probe_bw.rs about updating bw_hi dc/s2n-quic-dc/src/stream/environment/udp.rs (1 line): - line 40: // TODO tune these defaults dc/s2n-quic-dc/src/stream/recv/dispatch/pool.rs (1 line): - line 191: // TODO use `descriptor.repeat(page_size)` once stable quic/s2n-quic-core/src/path/migration.rs (1 line): - line 63: // TODO: Add an outcome that allows the connection to be closed/stateless reset https://github.com/aws/s2n-quic/issues/317 dc/s2n-quic-dc/src/path/secret/receiver.rs (1 line): - line 73: // TODO: Provide more useful pre-auth checks. For now just don't bother checking this, we dc/s2n-quic-dc/src/stream/recv/dispatch/descriptor.rs (1 line): - line 62: // TODO use `.addr()` once MSRV is 1.84 dc/s2n-quic-dc/src/stream/send/buffer.rs (1 line): - line 51: // TODO is this an OK default? quic/s2n-quic-transport/src/endpoint/retry.rs (1 line): - line 20: // TODO: Find a better datastructure capable of handling delays in transmission dc/s2n-quic-dc/src/stream/environment/bach/pool.rs (1 line): - line 238: // TODO send buffer, recv buffer dc/s2n-quic-dc/src/packet/stream/id.rs (1 line): - line 75: // FIXME: We may need to clamp key IDs at 2^60 or move reliable/bidirectional out of the ID dc/s2n-quic-dc/src/packet/datagram/encoder.rs (1 line): - line 114: // FIXME: Is this right way to convert? Should we take control_data_len? quic/s2n-quic-transport/src/stream/stream_container.rs (1 line): - line 707: // TODO denormalize this into a single value quic/s2n-quic-transport/src/connection/connection_container/tests.rs (1 line): - line 532: // TODO assert that the accepted connection expressed accept quic/s2n-quic-transport/src/stream/receive_stream.rs (1 line): - line 313: // TODO possibly make this value configurable dc/s2n-quic-dc/src/path/secret/map/entry.rs (1 line): - line 92: // FIXME: remove unused parameter dc/s2n-quic-dc/src/stream/server/tokio/udp.rs (1 line): - line 105: id: 0, // TODO use an actual connection ID quic/s2n-quic-transport/src/connection/connection_container.rs (1 line): - line 1087: // TODO panic with_debug_assertions once all of the connection components quic/s2n-quic-platform/src/io/turmoil.rs (1 line): - line 153: // TODO this is a potentially async operation - can we get this here? quic/s2n-quic-transport/src/space/handshake.rs (1 line): - line 123: // TODO Does this interact negatively with persistent congestion detection, which dc/s2n-quic-dc/src/stream/endpoint.rs (1 line): - line 64: id: 0, // TODO use an actual connection ID dc/s2n-quic-dc/src/path/secret/map/cleaner.rs (1 line): - line 137: // FIXME: add metrics for queue depth? quic/s2n-quic-core/events/platform.rs (1 line): - line 41: // TODO support nominal counters dc/s2n-quic-dc/src/path/secret/map.rs (1 line): - line 41: // FIXME: Most of this comment is not true today, we're expecting to implement the details quic/s2n-quic-transport/src/sync/data_sender.rs (1 line): - line 469: // TODO: assert!(self.lost.is_subset(&self.pending)); quic/s2n-quic-tls/src/session.rs (1 line): - line 158: // TODO Add new s2n-tls new api, take and put in quic::connection quic/s2n-quic-core/src/packet/number/sliding_window.rs (1 line): - line 261: // (FIXME: Maybe we should evict some range of 129 PNs?) dc/s2n-quic-dc/src/stream/server/tokio/tcp.rs (1 line): - line 94: id: 0, // TODO use an actual connection ID quic/s2n-quic-transport/src/path/mod.rs (1 line): - line 1071: // TODO this would work better as a fuzz test