Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 16-Feb-2021 | - | ||||
README.md | H A D | 16-Feb-2021 | 2.5 KiB | 73 | 57 | |
quic_bug_tracker.h | H A D | 16-Feb-2021 | 549 | 16 | 8 | |
quic_cert_utils.h | H A D | 16-Feb-2021 | 818 | 25 | 15 | |
quic_client_stats.h | H A D | 16-Feb-2021 | 3.5 KiB | 88 | 22 | |
quic_containers.h | H A D | 16-Feb-2021 | 2.3 KiB | 58 | 24 | |
quic_containers_test.cc | H A D | 16-Feb-2021 | 1.4 KiB | 64 | 39 | |
quic_default_proof_providers.h | H A D | 16-Feb-2021 | 1.2 KiB | 33 | 16 | |
quic_epoll.h | H A D | 16-Feb-2021 | 615 | 20 | 10 | |
quic_epoll_test_tools.h | H A D | 16-Feb-2021 | 466 | 13 | 5 | |
quic_error_code_wrappers.h | H A D | 16-Feb-2021 | 553 | 15 | 5 | |
quic_estimate_memory_usage.h | H A D | 16-Feb-2021 | 606 | 22 | 11 | |
quic_expect_bug.h | H A D | 16-Feb-2021 | 529 | 15 | 7 | |
quic_export.h | H A D | 16-Feb-2021 | 755 | 18 | 4 | |
quic_exported_stats.h | H A D | 16-Feb-2021 | 4.2 KiB | 97 | 31 | |
quic_file_utils.cc | H A D | 16-Feb-2021 | 763 | 24 | 11 | |
quic_file_utils.h | H A D | 16-Feb-2021 | 894 | 27 | 13 | |
quic_flag_utils.h | H A D | 16-Feb-2021 | 749 | 20 | 10 | |
quic_flags.h | H A D | 16-Feb-2021 | 1.9 KiB | 50 | 27 | |
quic_fuzzed_data_provider.h | H A D | 16-Feb-2021 | 524 | 17 | 7 | |
quic_hostname_utils.cc | H A D | 16-Feb-2021 | 601 | 21 | 10 | |
quic_hostname_utils.h | H A D | 16-Feb-2021 | 1.1 KiB | 35 | 15 | |
quic_hostname_utils_test.cc | H A D | 16-Feb-2021 | 2.1 KiB | 90 | 68 | |
quic_iovec.h | H A D | 16-Feb-2021 | 942 | 28 | 14 | |
quic_ip_address.cc | H A D | 16-Feb-2021 | 6.2 KiB | 236 | 199 | |
quic_ip_address.h | H A D | 16-Feb-2021 | 3.2 KiB | 98 | 66 | |
quic_ip_address_family.h | H A D | 16-Feb-2021 | 553 | 21 | 10 | |
quic_ip_address_test.cc | H A D | 16-Feb-2021 | 4.6 KiB | 142 | 113 | |
quic_logging.h | H A D | 16-Feb-2021 | 1.3 KiB | 39 | 21 | |
quic_map_util.h | H A D | 16-Feb-2021 | 754 | 25 | 14 | |
quic_mem_slice.h | H A D | 16-Feb-2021 | 2.5 KiB | 70 | 26 | |
quic_mem_slice_span.h | H A D | 16-Feb-2021 | 2.1 KiB | 60 | 28 | |
quic_mem_slice_span_test.cc | H A D | 16-Feb-2021 | 1.4 KiB | 48 | 35 | |
quic_mem_slice_storage.h | H A D | 16-Feb-2021 | 1.5 KiB | 42 | 24 | |
quic_mem_slice_storage_test.cc | H A D | 16-Feb-2021 | 2.7 KiB | 81 | 63 | |
quic_mem_slice_test.cc | H A D | 16-Feb-2021 | 1.4 KiB | 51 | 39 | |
quic_mock_log.h | H A D | 16-Feb-2021 | 669 | 19 | 9 | |
quic_mutex.cc | H A D | 16-Feb-2021 | 931 | 46 | 30 | |
quic_mutex.h | H A D | 16-Feb-2021 | 3.4 KiB | 101 | 59 | |
quic_pcc_sender.h | H A D | 16-Feb-2021 | 979 | 29 | 18 | |
quic_port_utils.h | H A D | 16-Feb-2021 | 764 | 24 | 9 | |
quic_prefetch.h | H A D | 16-Feb-2021 | 1.4 KiB | 40 | 9 | |
quic_ptr_util.h | H A D | 16-Feb-2021 | 564 | 23 | 12 | |
quic_reference_counted.h | H A D | 16-Feb-2021 | 5.7 KiB | 163 | 85 | |
quic_reference_counted_test.cc | H A D | 16-Feb-2021 | 4.2 KiB | 174 | 145 | |
quic_server_stats.h | H A D | 16-Feb-2021 | 3.3 KiB | 83 | 18 | |
quic_sleep.h | H A D | 16-Feb-2021 | 544 | 20 | 10 | |
quic_socket_address.cc | H A D | 16-Feb-2021 | 4 KiB | 134 | 111 | |
quic_socket_address.h | H A D | 16-Feb-2021 | 1.8 KiB | 54 | 37 | |
quic_socket_address_test.cc | H A D | 16-Feb-2021 | 4 KiB | 134 | 107 | |
quic_stack_trace.h | H A D | 16-Feb-2021 | 523 | 21 | 10 | |
quic_stream_buffer_allocator.h | H A D | 16-Feb-2021 | 527 | 17 | 7 | |
quic_string_utils.h | H A D | 16-Feb-2021 | 636 | 23 | 12 | |
quic_string_utils_test.cc | H A D | 16-Feb-2021 | 6 KiB | 181 | 129 | |
quic_system_event_loop.h | H A D | 16-Feb-2021 | 562 | 17 | 8 | |
quic_test.h | H A D | 16-Feb-2021 | 1.1 KiB | 34 | 18 | |
quic_test_loopback.cc | H A D | 16-Feb-2021 | 642 | 30 | 18 | |
quic_test_loopback.h | H A D | 16-Feb-2021 | 1 KiB | 33 | 11 | |
quic_test_mem_slice_vector.h | H A D | 16-Feb-2021 | 1.3 KiB | 36 | 18 | |
quic_test_output.h | H A D | 16-Feb-2021 | 1.5 KiB | 40 | 18 | |
quic_testvalue.h | H A D | 16-Feb-2021 | 818 | 26 | 11 | |
quic_thread.h | H A D | 16-Feb-2021 | 880 | 29 | 14 | |
quic_udp_socket_platform_api.h | H A D | 16-Feb-2021 | 940 | 30 | 18 | |
quic_uint128.h | H A D | 16-Feb-2021 | 616 | 20 | 10 |
README.md
1# QUIC platform API 2 3This directory contains the infrastructure blocks needed to support QUIC in 4certain platform. These APIs act as interaction layers between QUIC core and 5either the upper layer application (i.e. Chrome, Envoy) or the platform's own 6infrastructure (i.e. logging, test framework and system IO). QUIC core needs the 7implementations of these APIs to build and function appropriately. There is 8unidirectional dependency from QUIC core to most of the APIs here, such as 9QUIC_LOG and QuicMutex, but a few APIs also depend back on QUIC core's basic 10QUIC data types, such as QuicClock and QuicSleep. 11 12- APIs used by QUIC core: 13 14 Most APIs are used by QUIC core to interact with platform infrastructure 15 (i.e. QUIC_LOG) or to wrap around platform dependent data types (i.e. 16 QuicThread), the dependency is: 17 18``` 19application -> quic_core -> quic_platform_api 20 | | 21 v v 22platform_infrastructure <- quic_platform_impl 23``` 24 25- APIs used by applications: 26 27 Some APIs are used by applications to interact with QUIC core (i.e. 28 QuicMemSlice). For such APIs, their dependency model is: 29 30``` 31application -> quic_core -> quic_platform_api 32 | ^ 33 | | 34 -------------------> quic_platform_impl 35 | | 36 | v 37 -------------------> platform_infrastructure 38``` 39 40 An example for such dependency 41is QuicClock. 42 43 Or 44 45``` 46application -> quic_core -> quic_platform_api 47 | ^ 48 | | 49 | v 50 -------------------> quic_platform_impl 51 | | 52 | v 53 -------------------> platform_infrastructure 54``` 55 56 An example for such dependency 57is QuicMemSlice. 58 59# Documentation of each API and its usage. 60 61QuicMemSlice 62: QuicMemSlice is used to wrap application data and pass to QUIC stream's 63 write interface. It refers to a memory block of data which should be around 64 till QuicMemSlice::Reset() is called. It's upto each platform, to implement 65 it as reference counted or not. 66 67QuicClock 68: QuicClock is used by QUIC core to get current time. Its instance is created 69 by applications and passed into QuicDispatcher and 70 QuicConnectionHelperInterface. 71 72TODO(b/131224336) add document for other APIs 73