protocol-quic 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/ext/rakefile.rb +12 -0
  4. data/ext/ruby-protocol-quic-lock.yml +67 -0
  5. data/ext/teapot.rb +49 -0
  6. data/lib/protocol/quic/version.rb +4 -2
  7. data/lib/protocol/quic.rb +5 -5
  8. data/license.md +1 -1
  9. data/readme.md +55 -0
  10. data/releases.md +3 -0
  11. data.tar.gz.sig +0 -0
  12. metadata +32 -350
  13. metadata.gz.sig +0 -0
  14. data/ext/ngtcp2/AUTHORS +0 -44
  15. data/ext/ngtcp2/CMakeLists.txt +0 -431
  16. data/ext/ngtcp2/CMakeOptions.txt +0 -17
  17. data/ext/ngtcp2/COPYING +0 -22
  18. data/ext/ngtcp2/ChangeLog +0 -0
  19. data/ext/ngtcp2/Makefile.am +0 -60
  20. data/ext/ngtcp2/NEWS +0 -0
  21. data/ext/ngtcp2/README +0 -1
  22. data/ext/ngtcp2/README.rst +0 -258
  23. data/ext/ngtcp2/ci/build_boringssl.sh +0 -10
  24. data/ext/ngtcp2/ci/build_nghttp3.sh +0 -9
  25. data/ext/ngtcp2/ci/build_openssl1.sh +0 -8
  26. data/ext/ngtcp2/ci/build_openssl1_cross.sh +0 -9
  27. data/ext/ngtcp2/ci/build_openssl3.sh +0 -8
  28. data/ext/ngtcp2/ci/build_picotls.sh +0 -26
  29. data/ext/ngtcp2/ci/build_wolfssl.sh +0 -9
  30. data/ext/ngtcp2/ci/gen-certificate.sh +0 -8
  31. data/ext/ngtcp2/cmake/ExtractValidFlags.cmake +0 -31
  32. data/ext/ngtcp2/cmake/FindCUnit.cmake +0 -40
  33. data/ext/ngtcp2/cmake/FindJemalloc.cmake +0 -40
  34. data/ext/ngtcp2/cmake/FindLibev.cmake +0 -38
  35. data/ext/ngtcp2/cmake/FindLibnghttp3.cmake +0 -41
  36. data/ext/ngtcp2/cmake/Findwolfssl.cmake +0 -41
  37. data/ext/ngtcp2/cmake/Version.cmake +0 -11
  38. data/ext/ngtcp2/cmakeconfig.h.in +0 -36
  39. data/ext/ngtcp2/configure.ac +0 -755
  40. data/ext/ngtcp2/crypto/CMakeLists.txt +0 -56
  41. data/ext/ngtcp2/crypto/Makefile.am +0 -49
  42. data/ext/ngtcp2/crypto/boringssl/CMakeLists.txt +0 -64
  43. data/ext/ngtcp2/crypto/boringssl/Makefile.am +0 -39
  44. data/ext/ngtcp2/crypto/boringssl/boringssl.c +0 -630
  45. data/ext/ngtcp2/crypto/boringssl/libngtcp2_crypto_boringssl.pc.in +0 -33
  46. data/ext/ngtcp2/crypto/gnutls/CMakeLists.txt +0 -86
  47. data/ext/ngtcp2/crypto/gnutls/Makefile.am +0 -43
  48. data/ext/ngtcp2/crypto/gnutls/gnutls.c +0 -644
  49. data/ext/ngtcp2/crypto/gnutls/libngtcp2_crypto_gnutls.pc.in +0 -33
  50. data/ext/ngtcp2/crypto/includes/CMakeLists.txt +0 -56
  51. data/ext/ngtcp2/crypto/includes/Makefile.am +0 -45
  52. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto.h +0 -893
  53. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_boringssl.h +0 -104
  54. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_gnutls.h +0 -107
  55. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_openssl.h +0 -132
  56. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_picotls.h +0 -246
  57. data/ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_wolfssl.h +0 -106
  58. data/ext/ngtcp2/crypto/openssl/CMakeLists.txt +0 -86
  59. data/ext/ngtcp2/crypto/openssl/Makefile.am +0 -43
  60. data/ext/ngtcp2/crypto/openssl/libngtcp2_crypto_openssl.pc.in +0 -33
  61. data/ext/ngtcp2/crypto/openssl/openssl.c +0 -807
  62. data/ext/ngtcp2/crypto/picotls/CMakeLists.txt +0 -65
  63. data/ext/ngtcp2/crypto/picotls/Makefile.am +0 -39
  64. data/ext/ngtcp2/crypto/picotls/libngtcp2_crypto_picotls.pc.in +0 -33
  65. data/ext/ngtcp2/crypto/picotls/picotls.c +0 -707
  66. data/ext/ngtcp2/crypto/shared.c +0 -1431
  67. data/ext/ngtcp2/crypto/shared.h +0 -350
  68. data/ext/ngtcp2/crypto/wolfssl/CMakeLists.txt +0 -84
  69. data/ext/ngtcp2/crypto/wolfssl/Makefile.am +0 -43
  70. data/ext/ngtcp2/crypto/wolfssl/libngtcp2_crypto_wolfssl.pc.in +0 -33
  71. data/ext/ngtcp2/crypto/wolfssl/wolfssl.c +0 -534
  72. data/ext/ngtcp2/doc/Makefile.am +0 -65
  73. data/ext/ngtcp2/doc/make.bat +0 -35
  74. data/ext/ngtcp2/doc/mkapiref.py +0 -356
  75. data/ext/ngtcp2/doc/source/conf.py.in +0 -94
  76. data/ext/ngtcp2/doc/source/index.rst +0 -22
  77. data/ext/ngtcp2/doc/source/programmers-guide.rst +0 -476
  78. data/ext/ngtcp2/docker/Dockerfile +0 -39
  79. data/ext/ngtcp2/examples/CMakeLists.txt +0 -361
  80. data/ext/ngtcp2/examples/Makefile.am +0 -228
  81. data/ext/ngtcp2/examples/client.cc +0 -3049
  82. data/ext/ngtcp2/examples/client.h +0 -192
  83. data/ext/ngtcp2/examples/client_base.cc +0 -202
  84. data/ext/ngtcp2/examples/client_base.h +0 -213
  85. data/ext/ngtcp2/examples/debug.cc +0 -298
  86. data/ext/ngtcp2/examples/debug.h +0 -124
  87. data/ext/ngtcp2/examples/examplestest.cc +0 -84
  88. data/ext/ngtcp2/examples/gtlssimpleclient.c +0 -720
  89. data/ext/ngtcp2/examples/h09client.cc +0 -2601
  90. data/ext/ngtcp2/examples/h09client.h +0 -196
  91. data/ext/ngtcp2/examples/h09server.cc +0 -3024
  92. data/ext/ngtcp2/examples/h09server.h +0 -237
  93. data/ext/ngtcp2/examples/http.cc +0 -138
  94. data/ext/ngtcp2/examples/http.h +0 -44
  95. data/ext/ngtcp2/examples/network.h +0 -80
  96. data/ext/ngtcp2/examples/server.cc +0 -3731
  97. data/ext/ngtcp2/examples/server.h +0 -256
  98. data/ext/ngtcp2/examples/server_base.cc +0 -58
  99. data/ext/ngtcp2/examples/server_base.h +0 -195
  100. data/ext/ngtcp2/examples/shared.cc +0 -385
  101. data/ext/ngtcp2/examples/shared.h +0 -96
  102. data/ext/ngtcp2/examples/simpleclient.c +0 -683
  103. data/ext/ngtcp2/examples/template.h +0 -71
  104. data/ext/ngtcp2/examples/tests/README.rst +0 -60
  105. data/ext/ngtcp2/examples/tests/__init__.py +0 -0
  106. data/ext/ngtcp2/examples/tests/config.ini.in +0 -32
  107. data/ext/ngtcp2/examples/tests/conftest.py +0 -28
  108. data/ext/ngtcp2/examples/tests/ngtcp2test/__init__.py +0 -6
  109. data/ext/ngtcp2/examples/tests/ngtcp2test/certs.py +0 -476
  110. data/ext/ngtcp2/examples/tests/ngtcp2test/client.py +0 -187
  111. data/ext/ngtcp2/examples/tests/ngtcp2test/env.py +0 -191
  112. data/ext/ngtcp2/examples/tests/ngtcp2test/log.py +0 -101
  113. data/ext/ngtcp2/examples/tests/ngtcp2test/server.py +0 -137
  114. data/ext/ngtcp2/examples/tests/ngtcp2test/tls.py +0 -983
  115. data/ext/ngtcp2/examples/tests/test_01_handshake.py +0 -30
  116. data/ext/ngtcp2/examples/tests/test_02_resume.py +0 -46
  117. data/ext/ngtcp2/examples/tests/test_03_earlydata.py +0 -56
  118. data/ext/ngtcp2/examples/tests/test_04_clientcert.py +0 -57
  119. data/ext/ngtcp2/examples/tests/test_05_ciphers.py +0 -46
  120. data/ext/ngtcp2/examples/tls_client_context.h +0 -52
  121. data/ext/ngtcp2/examples/tls_client_context_boringssl.cc +0 -126
  122. data/ext/ngtcp2/examples/tls_client_context_boringssl.h +0 -49
  123. data/ext/ngtcp2/examples/tls_client_context_gnutls.cc +0 -74
  124. data/ext/ngtcp2/examples/tls_client_context_gnutls.h +0 -50
  125. data/ext/ngtcp2/examples/tls_client_context_openssl.cc +0 -137
  126. data/ext/ngtcp2/examples/tls_client_context_openssl.h +0 -49
  127. data/ext/ngtcp2/examples/tls_client_context_picotls.cc +0 -158
  128. data/ext/ngtcp2/examples/tls_client_context_picotls.h +0 -53
  129. data/ext/ngtcp2/examples/tls_client_context_wolfssl.cc +0 -177
  130. data/ext/ngtcp2/examples/tls_client_context_wolfssl.h +0 -51
  131. data/ext/ngtcp2/examples/tls_client_session.h +0 -52
  132. data/ext/ngtcp2/examples/tls_client_session_boringssl.cc +0 -110
  133. data/ext/ngtcp2/examples/tls_client_session_boringssl.h +0 -52
  134. data/ext/ngtcp2/examples/tls_client_session_gnutls.cc +0 -190
  135. data/ext/ngtcp2/examples/tls_client_session_gnutls.h +0 -52
  136. data/ext/ngtcp2/examples/tls_client_session_openssl.cc +0 -113
  137. data/ext/ngtcp2/examples/tls_client_session_openssl.h +0 -52
  138. data/ext/ngtcp2/examples/tls_client_session_picotls.cc +0 -147
  139. data/ext/ngtcp2/examples/tls_client_session_picotls.h +0 -52
  140. data/ext/ngtcp2/examples/tls_client_session_wolfssl.cc +0 -160
  141. data/ext/ngtcp2/examples/tls_client_session_wolfssl.h +0 -52
  142. data/ext/ngtcp2/examples/tls_server_context.h +0 -52
  143. data/ext/ngtcp2/examples/tls_server_context_boringssl.cc +0 -257
  144. data/ext/ngtcp2/examples/tls_server_context_boringssl.h +0 -54
  145. data/ext/ngtcp2/examples/tls_server_context_gnutls.cc +0 -99
  146. data/ext/ngtcp2/examples/tls_server_context_gnutls.h +0 -59
  147. data/ext/ngtcp2/examples/tls_server_context_openssl.cc +0 -338
  148. data/ext/ngtcp2/examples/tls_server_context_openssl.h +0 -54
  149. data/ext/ngtcp2/examples/tls_server_context_picotls.cc +0 -321
  150. data/ext/ngtcp2/examples/tls_server_context_picotls.h +0 -58
  151. data/ext/ngtcp2/examples/tls_server_context_wolfssl.cc +0 -284
  152. data/ext/ngtcp2/examples/tls_server_context_wolfssl.h +0 -55
  153. data/ext/ngtcp2/examples/tls_server_session.h +0 -52
  154. data/ext/ngtcp2/examples/tls_server_session_boringssl.cc +0 -84
  155. data/ext/ngtcp2/examples/tls_server_session_boringssl.h +0 -47
  156. data/ext/ngtcp2/examples/tls_server_session_gnutls.cc +0 -155
  157. data/ext/ngtcp2/examples/tls_server_session_gnutls.h +0 -46
  158. data/ext/ngtcp2/examples/tls_server_session_openssl.cc +0 -54
  159. data/ext/ngtcp2/examples/tls_server_session_openssl.h +0 -47
  160. data/ext/ngtcp2/examples/tls_server_session_picotls.cc +0 -70
  161. data/ext/ngtcp2/examples/tls_server_session_picotls.h +0 -47
  162. data/ext/ngtcp2/examples/tls_server_session_wolfssl.cc +0 -55
  163. data/ext/ngtcp2/examples/tls_server_session_wolfssl.h +0 -47
  164. data/ext/ngtcp2/examples/tls_session_base_gnutls.cc +0 -87
  165. data/ext/ngtcp2/examples/tls_session_base_gnutls.h +0 -51
  166. data/ext/ngtcp2/examples/tls_session_base_openssl.cc +0 -54
  167. data/ext/ngtcp2/examples/tls_session_base_openssl.h +0 -52
  168. data/ext/ngtcp2/examples/tls_session_base_picotls.cc +0 -56
  169. data/ext/ngtcp2/examples/tls_session_base_picotls.h +0 -54
  170. data/ext/ngtcp2/examples/tls_session_base_wolfssl.cc +0 -54
  171. data/ext/ngtcp2/examples/tls_session_base_wolfssl.h +0 -54
  172. data/ext/ngtcp2/examples/tls_shared_picotls.cc +0 -59
  173. data/ext/ngtcp2/examples/tls_shared_picotls.h +0 -36
  174. data/ext/ngtcp2/examples/util.cc +0 -646
  175. data/ext/ngtcp2/examples/util.h +0 -361
  176. data/ext/ngtcp2/examples/util_gnutls.cc +0 -136
  177. data/ext/ngtcp2/examples/util_openssl.cc +0 -131
  178. data/ext/ngtcp2/examples/util_test.cc +0 -237
  179. data/ext/ngtcp2/examples/util_test.h +0 -45
  180. data/ext/ngtcp2/examples/util_wolfssl.cc +0 -130
  181. data/ext/ngtcp2/fuzz/corpus/decode_frame/ack +0 -0
  182. data/ext/ngtcp2/fuzz/corpus/decode_frame/ack_ecn +0 -0
  183. data/ext/ngtcp2/fuzz/corpus/decode_frame/connection_close +0 -0
  184. data/ext/ngtcp2/fuzz/corpus/decode_frame/crypto +0 -1
  185. data/ext/ngtcp2/fuzz/corpus/decode_frame/data_blocked +0 -1
  186. data/ext/ngtcp2/fuzz/corpus/decode_frame/datagram +0 -1
  187. data/ext/ngtcp2/fuzz/corpus/decode_frame/datagram_len +0 -1
  188. data/ext/ngtcp2/fuzz/corpus/decode_frame/max_data +0 -1
  189. data/ext/ngtcp2/fuzz/corpus/decode_frame/max_stream_data +0 -0
  190. data/ext/ngtcp2/fuzz/corpus/decode_frame/max_streams +0 -0
  191. data/ext/ngtcp2/fuzz/corpus/decode_frame/new_connection_id +0 -1
  192. data/ext/ngtcp2/fuzz/corpus/decode_frame/new_token +0 -1
  193. data/ext/ngtcp2/fuzz/corpus/decode_frame/path_challenge +0 -1
  194. data/ext/ngtcp2/fuzz/corpus/decode_frame/path_response +0 -1
  195. data/ext/ngtcp2/fuzz/corpus/decode_frame/reset_stream +0 -0
  196. data/ext/ngtcp2/fuzz/corpus/decode_frame/retire_connection_id +0 -1
  197. data/ext/ngtcp2/fuzz/corpus/decode_frame/stop_sending +0 -0
  198. data/ext/ngtcp2/fuzz/corpus/decode_frame/stream +0 -0
  199. data/ext/ngtcp2/fuzz/corpus/decode_frame/stream_data_blocked +0 -0
  200. data/ext/ngtcp2/fuzz/corpus/decode_frame/stream_len +0 -0
  201. data/ext/ngtcp2/fuzz/corpus/decode_frame/streams_blocked +0 -0
  202. data/ext/ngtcp2/fuzz/corpus/ksl/random +0 -0
  203. data/ext/ngtcp2/fuzz/decode_frame.cc +0 -25
  204. data/ext/ngtcp2/fuzz/ksl.cc +0 -77
  205. data/ext/ngtcp2/interop/Dockerfile +0 -39
  206. data/ext/ngtcp2/interop/run_endpoint.sh +0 -93
  207. data/ext/ngtcp2/lib/CMakeLists.txt +0 -110
  208. data/ext/ngtcp2/lib/Makefile.am +0 -122
  209. data/ext/ngtcp2/lib/includes/CMakeLists.txt +0 -4
  210. data/ext/ngtcp2/lib/includes/Makefile.am +0 -25
  211. data/ext/ngtcp2/lib/includes/ngtcp2/ngtcp2.h +0 -5843
  212. data/ext/ngtcp2/lib/includes/ngtcp2/version.h.in +0 -51
  213. data/ext/ngtcp2/lib/libngtcp2.pc.in +0 -33
  214. data/ext/ngtcp2/lib/ngtcp2_acktr.c +0 -335
  215. data/ext/ngtcp2/lib/ngtcp2_acktr.h +0 -221
  216. data/ext/ngtcp2/lib/ngtcp2_addr.c +0 -117
  217. data/ext/ngtcp2/lib/ngtcp2_addr.h +0 -69
  218. data/ext/ngtcp2/lib/ngtcp2_balloc.c +0 -90
  219. data/ext/ngtcp2/lib/ngtcp2_balloc.h +0 -91
  220. data/ext/ngtcp2/lib/ngtcp2_bbr.c +0 -693
  221. data/ext/ngtcp2/lib/ngtcp2_bbr.h +0 -157
  222. data/ext/ngtcp2/lib/ngtcp2_bbr2.c +0 -1490
  223. data/ext/ngtcp2/lib/ngtcp2_bbr2.h +0 -149
  224. data/ext/ngtcp2/lib/ngtcp2_buf.c +0 -56
  225. data/ext/ngtcp2/lib/ngtcp2_buf.h +0 -108
  226. data/ext/ngtcp2/lib/ngtcp2_cc.c +0 -616
  227. data/ext/ngtcp2/lib/ngtcp2_cc.h +0 -422
  228. data/ext/ngtcp2/lib/ngtcp2_cid.c +0 -147
  229. data/ext/ngtcp2/lib/ngtcp2_cid.h +0 -175
  230. data/ext/ngtcp2/lib/ngtcp2_conn.c +0 -13731
  231. data/ext/ngtcp2/lib/ngtcp2_conn.h +0 -1119
  232. data/ext/ngtcp2/lib/ngtcp2_conn_stat.h +0 -131
  233. data/ext/ngtcp2/lib/ngtcp2_conv.c +0 -291
  234. data/ext/ngtcp2/lib/ngtcp2_conv.h +0 -208
  235. data/ext/ngtcp2/lib/ngtcp2_crypto.c +0 -895
  236. data/ext/ngtcp2/lib/ngtcp2_crypto.h +0 -148
  237. data/ext/ngtcp2/lib/ngtcp2_err.c +0 -154
  238. data/ext/ngtcp2/lib/ngtcp2_err.h +0 -34
  239. data/ext/ngtcp2/lib/ngtcp2_gaptr.c +0 -167
  240. data/ext/ngtcp2/lib/ngtcp2_gaptr.h +0 -98
  241. data/ext/ngtcp2/lib/ngtcp2_idtr.c +0 -79
  242. data/ext/ngtcp2/lib/ngtcp2_idtr.h +0 -89
  243. data/ext/ngtcp2/lib/ngtcp2_ksl.c +0 -819
  244. data/ext/ngtcp2/lib/ngtcp2_ksl.h +0 -345
  245. data/ext/ngtcp2/lib/ngtcp2_log.c +0 -822
  246. data/ext/ngtcp2/lib/ngtcp2_log.h +0 -123
  247. data/ext/ngtcp2/lib/ngtcp2_macro.h +0 -58
  248. data/ext/ngtcp2/lib/ngtcp2_map.c +0 -336
  249. data/ext/ngtcp2/lib/ngtcp2_map.h +0 -136
  250. data/ext/ngtcp2/lib/ngtcp2_mem.c +0 -113
  251. data/ext/ngtcp2/lib/ngtcp2_mem.h +0 -72
  252. data/ext/ngtcp2/lib/ngtcp2_net.h +0 -136
  253. data/ext/ngtcp2/lib/ngtcp2_objalloc.c +0 -40
  254. data/ext/ngtcp2/lib/ngtcp2_objalloc.h +0 -140
  255. data/ext/ngtcp2/lib/ngtcp2_opl.c +0 -46
  256. data/ext/ngtcp2/lib/ngtcp2_opl.h +0 -65
  257. data/ext/ngtcp2/lib/ngtcp2_path.c +0 -77
  258. data/ext/ngtcp2/lib/ngtcp2_path.h +0 -49
  259. data/ext/ngtcp2/lib/ngtcp2_pkt.c +0 -2527
  260. data/ext/ngtcp2/lib/ngtcp2_pkt.h +0 -1235
  261. data/ext/ngtcp2/lib/ngtcp2_pmtud.c +0 -160
  262. data/ext/ngtcp2/lib/ngtcp2_pmtud.h +0 -123
  263. data/ext/ngtcp2/lib/ngtcp2_ppe.c +0 -230
  264. data/ext/ngtcp2/lib/ngtcp2_ppe.h +0 -153
  265. data/ext/ngtcp2/lib/ngtcp2_pq.c +0 -164
  266. data/ext/ngtcp2/lib/ngtcp2_pq.h +0 -126
  267. data/ext/ngtcp2/lib/ngtcp2_pv.c +0 -172
  268. data/ext/ngtcp2/lib/ngtcp2_pv.h +0 -194
  269. data/ext/ngtcp2/lib/ngtcp2_qlog.c +0 -1219
  270. data/ext/ngtcp2/lib/ngtcp2_qlog.h +0 -161
  271. data/ext/ngtcp2/lib/ngtcp2_range.c +0 -61
  272. data/ext/ngtcp2/lib/ngtcp2_range.h +0 -80
  273. data/ext/ngtcp2/lib/ngtcp2_rcvry.h +0 -40
  274. data/ext/ngtcp2/lib/ngtcp2_ringbuf.c +0 -121
  275. data/ext/ngtcp2/lib/ngtcp2_ringbuf.h +0 -132
  276. data/ext/ngtcp2/lib/ngtcp2_rob.c +0 -319
  277. data/ext/ngtcp2/lib/ngtcp2_rob.h +0 -197
  278. data/ext/ngtcp2/lib/ngtcp2_rst.c +0 -138
  279. data/ext/ngtcp2/lib/ngtcp2_rst.h +0 -86
  280. data/ext/ngtcp2/lib/ngtcp2_rtb.c +0 -1676
  281. data/ext/ngtcp2/lib/ngtcp2_rtb.h +0 -468
  282. data/ext/ngtcp2/lib/ngtcp2_str.c +0 -233
  283. data/ext/ngtcp2/lib/ngtcp2_str.h +0 -94
  284. data/ext/ngtcp2/lib/ngtcp2_strm.c +0 -698
  285. data/ext/ngtcp2/lib/ngtcp2_strm.h +0 -310
  286. data/ext/ngtcp2/lib/ngtcp2_unreachable.c +0 -71
  287. data/ext/ngtcp2/lib/ngtcp2_unreachable.h +0 -46
  288. data/ext/ngtcp2/lib/ngtcp2_vec.c +0 -243
  289. data/ext/ngtcp2/lib/ngtcp2_vec.h +0 -120
  290. data/ext/ngtcp2/lib/ngtcp2_version.c +0 -39
  291. data/ext/ngtcp2/lib/ngtcp2_window_filter.c +0 -99
  292. data/ext/ngtcp2/lib/ngtcp2_window_filter.h +0 -65
  293. data/ext/ngtcp2/m4/ax_check_compile_flag.m4 +0 -74
  294. data/ext/ngtcp2/m4/ax_cxx_compile_stdcxx.m4 +0 -1009
  295. data/ext/ngtcp2/tests/CMakeLists.txt +0 -68
  296. data/ext/ngtcp2/tests/Makefile.am +0 -94
  297. data/ext/ngtcp2/tests/main.c +0 -358
  298. data/ext/ngtcp2/tests/ngtcp2_acktr_test.c +0 -367
  299. data/ext/ngtcp2/tests/ngtcp2_acktr_test.h +0 -37
  300. data/ext/ngtcp2/tests/ngtcp2_conn_test.c +0 -9821
  301. data/ext/ngtcp2/tests/ngtcp2_conn_test.h +0 -104
  302. data/ext/ngtcp2/tests/ngtcp2_conv_test.c +0 -430
  303. data/ext/ngtcp2/tests/ngtcp2_conv_test.h +0 -46
  304. data/ext/ngtcp2/tests/ngtcp2_crypto_test.c +0 -667
  305. data/ext/ngtcp2/tests/ngtcp2_crypto_test.h +0 -35
  306. data/ext/ngtcp2/tests/ngtcp2_gaptr_test.c +0 -127
  307. data/ext/ngtcp2/tests/ngtcp2_gaptr_test.h +0 -36
  308. data/ext/ngtcp2/tests/ngtcp2_idtr_test.c +0 -79
  309. data/ext/ngtcp2/tests/ngtcp2_idtr_test.h +0 -34
  310. data/ext/ngtcp2/tests/ngtcp2_ksl_test.c +0 -502
  311. data/ext/ngtcp2/tests/ngtcp2_ksl_test.h +0 -39
  312. data/ext/ngtcp2/tests/ngtcp2_map_test.c +0 -206
  313. data/ext/ngtcp2/tests/ngtcp2_map_test.h +0 -38
  314. data/ext/ngtcp2/tests/ngtcp2_pkt_test.c +0 -1645
  315. data/ext/ngtcp2/tests/ngtcp2_pkt_test.h +0 -68
  316. data/ext/ngtcp2/tests/ngtcp2_pmtud_test.c +0 -153
  317. data/ext/ngtcp2/tests/ngtcp2_pmtud_test.h +0 -34
  318. data/ext/ngtcp2/tests/ngtcp2_pv_test.c +0 -129
  319. data/ext/ngtcp2/tests/ngtcp2_pv_test.h +0 -35
  320. data/ext/ngtcp2/tests/ngtcp2_range_test.c +0 -105
  321. data/ext/ngtcp2/tests/ngtcp2_range_test.h +0 -36
  322. data/ext/ngtcp2/tests/ngtcp2_ringbuf_test.c +0 -91
  323. data/ext/ngtcp2/tests/ngtcp2_ringbuf_test.h +0 -35
  324. data/ext/ngtcp2/tests/ngtcp2_rob_test.c +0 -552
  325. data/ext/ngtcp2/tests/ngtcp2_rob_test.h +0 -37
  326. data/ext/ngtcp2/tests/ngtcp2_rtb_test.c +0 -470
  327. data/ext/ngtcp2/tests/ngtcp2_rtb_test.h +0 -38
  328. data/ext/ngtcp2/tests/ngtcp2_str_test.c +0 -96
  329. data/ext/ngtcp2/tests/ngtcp2_str_test.h +0 -36
  330. data/ext/ngtcp2/tests/ngtcp2_strm_test.c +0 -575
  331. data/ext/ngtcp2/tests/ngtcp2_strm_test.h +0 -36
  332. data/ext/ngtcp2/tests/ngtcp2_test_helper.c +0 -404
  333. data/ext/ngtcp2/tests/ngtcp2_test_helper.h +0 -191
  334. data/ext/ngtcp2/tests/ngtcp2_vec_test.c +0 -426
  335. data/ext/ngtcp2/tests/ngtcp2_vec_test.h +0 -36
  336. data/ext/ngtcp2/third-party/CMakeLists.txt +0 -34
  337. data/ext/ngtcp2/third-party/Makefile.am +0 -31
  338. data/ext/ngtcp2/third-party/http-parser/AUTHORS +0 -68
  339. data/ext/ngtcp2/third-party/http-parser/LICENSE-MIT +0 -23
  340. data/ext/ngtcp2/third-party/http-parser/Makefile +0 -157
  341. data/ext/ngtcp2/third-party/http-parser/README.md +0 -246
  342. data/ext/ngtcp2/third-party/http-parser/bench.c +0 -111
  343. data/ext/ngtcp2/third-party/http-parser/contrib/parsertrace.c +0 -160
  344. data/ext/ngtcp2/third-party/http-parser/contrib/url_parser.c +0 -47
  345. data/ext/ngtcp2/third-party/http-parser/http_parser.c +0 -2419
  346. data/ext/ngtcp2/third-party/http-parser/http_parser.gyp +0 -111
  347. data/ext/ngtcp2/third-party/http-parser/http_parser.h +0 -431
  348. data/ext/ngtcp2/third-party/http-parser/test.c +0 -4411
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37eb98bd4ac433c78a3f53cfba7dfc29ee1da28e49557bba52d9f568254ee0d4
4
- data.tar.gz: fa2894b34f6682b2b961574b0bf1a4b3867ce1cb0ade491d9fb47531ec91d571
3
+ metadata.gz: 9f6e82bf2c236df381980976dfda5103e60a0a3366624ebe20fc50052b5a8f97
4
+ data.tar.gz: 60d05d6d4c496fe01b36b71aae4cfb11abb45e856c5facce3e6cfd42057e6f29
5
5
  SHA512:
6
- metadata.gz: a068f6cc8773139eac21ac2e91115f925fbe68500605b42a13fcb4c61cd57d3fd48b28f1b21a9532f326908f6af7fb58e8d95cefd0f87ae1b7625e67d0d3bc25
7
- data.tar.gz: 90b32525a7dfa4f584b2ca42e8e5835ea342f7027754d6d46e97a0039f3ec41d930ddf8cc46e31e4f7ff3e32bac02672a8bce4d21b63048e3ce30f8fef865347
6
+ metadata.gz: cc528ee11e7190cff444c1c09647a1b229b97846192d6a8f47e2163e6247629f8bb6584fed7dbd4fc44398df3f4cf413e1cdacb9687bffd9c0b5a94f465e76b4
7
+ data.tar.gz: c9a23a03cac8d2247dd70687045adf5ed5225511ea1907e56b14350e2a3d0ac7c0725d1b5386046d5a81ad89d634a490256111d8dc63aa0498cd0b16e7c8f400
checksums.yaml.gz.sig CHANGED
Binary file
data/ext/rakefile.rb ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2023-2026, by Samuel Williams.
5
+
6
+ task :default do
7
+ ruby_library_directory = ENV.fetch("RUBYLIBDIR"){ENV.fetch("RUBYARCHDIR")}
8
+ build_environment = {"RUBYLIBDIR" => ruby_library_directory}
9
+
10
+ sh build_environment, "teapot", "fetch"
11
+ sh build_environment, "teapot", "Ruby/Protocol/QUIC"
12
+ end
@@ -0,0 +1,67 @@
1
+ ---
2
+ platforms:
3
+ :commit: 53bfdd34201790980ba8f4c335dbf659d038eb06
4
+ :branch: master
5
+ build-make:
6
+ :commit: 50998307f3d1f462c2bda1999b42b2ea8aeb4b15
7
+ :branch: master
8
+ build-cmake:
9
+ :commit: 6558fdad5bbb475f0fa5584ff773de8f12ff232e
10
+ :branch: master
11
+ scheduler-ruby:
12
+ :commit: 8e4e36bfd47485e8379b3d9c0e4258dec63b7320
13
+ :branch: main
14
+ protocol-quic:
15
+ :commit: 4fa6aaa1b2dcb8f493d4c58535c0417e94095f27
16
+ :branch: main
17
+ ruby:
18
+ :commit: 685cdd5a421dae7749f368d08add9aa9709ad043
19
+ :branch: main
20
+ generate-template:
21
+ :commit: ad0dcfb6da64cc0508b71916b30e1050c82ecea7
22
+ :branch: master
23
+ generate-cpp-class:
24
+ :commit: b8996bd1404904a737b76d6893fc9f9bf78da540
25
+ :branch: master
26
+ build-compile-commands:
27
+ :commit: 1c4b18f86d45426d7dd284c28bc53837e5694b6c
28
+ :branch: main
29
+ variants:
30
+ :commit: f6a26a8ac3a47a23a213cbd15da2183239d394d1
31
+ :branch: master
32
+ platform-darwin-osx:
33
+ :commit: dbd14d21c11e85f6fc067529a63f81cf5e6604d2
34
+ :branch: master
35
+ platform-darwin-ios:
36
+ :commit: d0611a1afac738012ffb7c51185499292e9a87ba
37
+ :branch: master
38
+ build-clang:
39
+ :commit: 1c9be15a63c149f6decf8d0599b34755aa3b0979
40
+ :branch: master
41
+ build-darwin:
42
+ :commit: 0d68478a7754741dd5d360f70294161efdee030d
43
+ :branch: master
44
+ build-files:
45
+ :commit: 2e5392ef4e171885b621288c7829e5160f1255bf
46
+ :branch: master
47
+ executor-unix:
48
+ :commit: 91f433a59550b826f7bc69e36d1df9c6e5576575
49
+ :branch: master
50
+ executor-lldb:
51
+ :commit: 193ba0b15c532d2745b0f0bfb05cd9581e869555
52
+ :branch: master
53
+ time:
54
+ :commit: c1ec0bb4fc9abca3de559a87884bdbc1413b3f1f
55
+ :branch: main
56
+ nghttp3:
57
+ :commit: 922c2aaca406840a63ce2c4a808d9c888538671d
58
+ :branch: main
59
+ ngtcp2:
60
+ :commit: c65334b60a04200b1691da3d85d38444c5ff951d
61
+ :branch: main
62
+ picotls:
63
+ :commit: 2bc03af57a8ea09f3b0bd11c47c876fd3bc1d9fc
64
+ :branch: main
65
+ openssl:
66
+ :commit: 2f48d686aaaf20dc6d7e8a277803657eb5951530
67
+ :branch: main
data/ext/teapot.rb ADDED
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2023-2026, by Samuel Williams.
5
+
6
+ teapot_version "3.0"
7
+
8
+ define_project "ruby-protocol-quic" do |project|
9
+ project.title = "Protocol::QUIC"
10
+ project.license = "MIT License"
11
+ end
12
+
13
+ define_target "ruby-protocol-quic" do |target|
14
+ target.depends "Language/C++17"
15
+
16
+ target.depends "Library/Protocol/QUIC"
17
+ # target.depends "Library/ruby"
18
+
19
+ target.depends "Build/Files"
20
+ target.depends "Build/Compile/Commands"
21
+
22
+ target.provides "Ruby/Protocol/QUIC" do
23
+ source_root = target.package.path + "source"
24
+
25
+ library_path = build dynamic_library: "Protocol_QUIC", source_files: source_root.glob("**/*.{c,cpp}")
26
+
27
+ copy source: [library_path], prefix: environment[:ruby_install_path]
28
+
29
+ compile_commands destination_path: (source_root + "compile_commands.json")
30
+ end
31
+ end
32
+
33
+ define_configuration "ruby-protocol-quic" do |configuration|
34
+ configuration[:source] = "https://github.com/kurocha/"
35
+
36
+ configuration.require "platforms"
37
+
38
+ configuration.require "build-make"
39
+ configuration.require "build-cmake"
40
+
41
+ configuration.require "scheduler-ruby"
42
+ configuration.require "protocol-quic"
43
+ configuration.require "ruby"
44
+
45
+ configuration.require "generate-template"
46
+ configuration.require "generate-cpp-class"
47
+
48
+ configuration.require "build-compile-commands"
49
+ end
@@ -1,10 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2026, by Samuel Williams.
5
5
 
6
+ # @namespace
6
7
  module Protocol
8
+ # @namespace
7
9
  module QUIC
8
- VERSION = "0.0.0"
10
+ VERSION = "0.0.1"
9
11
  end
10
12
  end
data/lib/protocol/quic.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2026, by Samuel Williams.
5
5
 
6
- module Protocol
7
- module QUIC
8
- end
9
- end
6
+ # Native extension:
7
+ require "Protocol_QUIC"
8
+
9
+ require_relative "quic/version"
data/license.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2023, by Samuel Williams.
3
+ Copyright, 2023-2026, by Samuel Williams.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/readme.md ADDED
@@ -0,0 +1,55 @@
1
+ # Protocol::QUIC
2
+
3
+ Provides a low-level QUIC protocol implementation using [ngtcp2](https://github.com/ngtcp2/ngtcp2).
4
+
5
+ [![Development Status](https://github.com/socketry/protocol-quic/workflows/Test/badge.svg)](https://github.com/socketry/protocol-quic/actions?workflow=Test)
6
+
7
+ ## Features
8
+
9
+ - Native QUIC connection, stream, socket and dispatcher primitives.
10
+ - TLS client and server context integration.
11
+ - Extensible Ruby subclasses for clients, servers, streams and dispatchers.
12
+
13
+ ## Usage
14
+
15
+ Please see the [project documentation](https://socketry.github.io/protocol-quic/) for more details.
16
+
17
+ ## Releases
18
+
19
+ Please see the [project releases](https://socketry.github.io/protocol-quic/releases/index) for all releases.
20
+
21
+ ### v0.0.1
22
+
23
+ ## Contributing
24
+
25
+ We welcome contributions to this project.
26
+
27
+ 1. Fork it.
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`).
30
+ 4. Push to the branch (`git push origin my-new-feature`).
31
+ 5. Create new Pull Request.
32
+
33
+ ### Running Tests
34
+
35
+ To run the test suite:
36
+
37
+ ``` shell
38
+ bundle exec sus
39
+ ```
40
+
41
+ ### Making Releases
42
+
43
+ To make a new release:
44
+
45
+ ``` shell
46
+ bundle exec bake gem:release:patch # or minor or major
47
+ ```
48
+
49
+ ### Developer Certificate of Origin
50
+
51
+ In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
52
+
53
+ ### Community Guidelines
54
+
55
+ This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
data/releases.md ADDED
@@ -0,0 +1,3 @@
1
+ # Releases
2
+
3
+ ## v0.0.1
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-quic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
@@ -37,372 +36,56 @@ cert_chain:
37
36
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
37
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
38
  -----END CERTIFICATE-----
40
- date: 2023-03-12 00:00:00.000000000 Z
39
+ date: 1980-01-02 00:00:00.000000000 Z
41
40
  dependencies:
42
41
  - !ruby/object:Gem::Dependency
43
- name: sus
42
+ name: teapot
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - "~>"
47
46
  - !ruby/object:Gem::Version
48
- version: '0.18'
49
- type: :development
47
+ version: '3.5'
48
+ type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
52
  - - "~>"
54
53
  - !ruby/object:Gem::Version
55
- version: '0.18'
56
- description:
57
- email:
54
+ version: '3.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  executables: []
59
70
  extensions:
60
- - ext/ngtcp2/CMakeLists.txt
71
+ - ext/rakefile.rb
61
72
  extra_rdoc_files: []
62
73
  files:
63
- - ext/ngtcp2/AUTHORS
64
- - ext/ngtcp2/CMakeLists.txt
65
- - ext/ngtcp2/CMakeOptions.txt
66
- - ext/ngtcp2/COPYING
67
- - ext/ngtcp2/ChangeLog
68
- - ext/ngtcp2/Makefile.am
69
- - ext/ngtcp2/NEWS
70
- - ext/ngtcp2/README
71
- - ext/ngtcp2/README.rst
72
- - ext/ngtcp2/ci/build_boringssl.sh
73
- - ext/ngtcp2/ci/build_nghttp3.sh
74
- - ext/ngtcp2/ci/build_openssl1.sh
75
- - ext/ngtcp2/ci/build_openssl1_cross.sh
76
- - ext/ngtcp2/ci/build_openssl3.sh
77
- - ext/ngtcp2/ci/build_picotls.sh
78
- - ext/ngtcp2/ci/build_wolfssl.sh
79
- - ext/ngtcp2/ci/gen-certificate.sh
80
- - ext/ngtcp2/cmake/ExtractValidFlags.cmake
81
- - ext/ngtcp2/cmake/FindCUnit.cmake
82
- - ext/ngtcp2/cmake/FindJemalloc.cmake
83
- - ext/ngtcp2/cmake/FindLibev.cmake
84
- - ext/ngtcp2/cmake/FindLibnghttp3.cmake
85
- - ext/ngtcp2/cmake/Findwolfssl.cmake
86
- - ext/ngtcp2/cmake/Version.cmake
87
- - ext/ngtcp2/cmakeconfig.h.in
88
- - ext/ngtcp2/configure.ac
89
- - ext/ngtcp2/crypto/CMakeLists.txt
90
- - ext/ngtcp2/crypto/Makefile.am
91
- - ext/ngtcp2/crypto/boringssl/CMakeLists.txt
92
- - ext/ngtcp2/crypto/boringssl/Makefile.am
93
- - ext/ngtcp2/crypto/boringssl/boringssl.c
94
- - ext/ngtcp2/crypto/boringssl/libngtcp2_crypto_boringssl.pc.in
95
- - ext/ngtcp2/crypto/gnutls/CMakeLists.txt
96
- - ext/ngtcp2/crypto/gnutls/Makefile.am
97
- - ext/ngtcp2/crypto/gnutls/gnutls.c
98
- - ext/ngtcp2/crypto/gnutls/libngtcp2_crypto_gnutls.pc.in
99
- - ext/ngtcp2/crypto/includes/CMakeLists.txt
100
- - ext/ngtcp2/crypto/includes/Makefile.am
101
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto.h
102
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_boringssl.h
103
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_gnutls.h
104
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_openssl.h
105
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_picotls.h
106
- - ext/ngtcp2/crypto/includes/ngtcp2/ngtcp2_crypto_wolfssl.h
107
- - ext/ngtcp2/crypto/openssl/CMakeLists.txt
108
- - ext/ngtcp2/crypto/openssl/Makefile.am
109
- - ext/ngtcp2/crypto/openssl/libngtcp2_crypto_openssl.pc.in
110
- - ext/ngtcp2/crypto/openssl/openssl.c
111
- - ext/ngtcp2/crypto/picotls/CMakeLists.txt
112
- - ext/ngtcp2/crypto/picotls/Makefile.am
113
- - ext/ngtcp2/crypto/picotls/libngtcp2_crypto_picotls.pc.in
114
- - ext/ngtcp2/crypto/picotls/picotls.c
115
- - ext/ngtcp2/crypto/shared.c
116
- - ext/ngtcp2/crypto/shared.h
117
- - ext/ngtcp2/crypto/wolfssl/CMakeLists.txt
118
- - ext/ngtcp2/crypto/wolfssl/Makefile.am
119
- - ext/ngtcp2/crypto/wolfssl/libngtcp2_crypto_wolfssl.pc.in
120
- - ext/ngtcp2/crypto/wolfssl/wolfssl.c
121
- - ext/ngtcp2/doc/Makefile.am
122
- - ext/ngtcp2/doc/make.bat
123
- - ext/ngtcp2/doc/mkapiref.py
124
- - ext/ngtcp2/doc/source/conf.py.in
125
- - ext/ngtcp2/doc/source/index.rst
126
- - ext/ngtcp2/doc/source/programmers-guide.rst
127
- - ext/ngtcp2/docker/Dockerfile
128
- - ext/ngtcp2/examples/CMakeLists.txt
129
- - ext/ngtcp2/examples/Makefile.am
130
- - ext/ngtcp2/examples/client.cc
131
- - ext/ngtcp2/examples/client.h
132
- - ext/ngtcp2/examples/client_base.cc
133
- - ext/ngtcp2/examples/client_base.h
134
- - ext/ngtcp2/examples/debug.cc
135
- - ext/ngtcp2/examples/debug.h
136
- - ext/ngtcp2/examples/examplestest.cc
137
- - ext/ngtcp2/examples/gtlssimpleclient.c
138
- - ext/ngtcp2/examples/h09client.cc
139
- - ext/ngtcp2/examples/h09client.h
140
- - ext/ngtcp2/examples/h09server.cc
141
- - ext/ngtcp2/examples/h09server.h
142
- - ext/ngtcp2/examples/http.cc
143
- - ext/ngtcp2/examples/http.h
144
- - ext/ngtcp2/examples/network.h
145
- - ext/ngtcp2/examples/server.cc
146
- - ext/ngtcp2/examples/server.h
147
- - ext/ngtcp2/examples/server_base.cc
148
- - ext/ngtcp2/examples/server_base.h
149
- - ext/ngtcp2/examples/shared.cc
150
- - ext/ngtcp2/examples/shared.h
151
- - ext/ngtcp2/examples/simpleclient.c
152
- - ext/ngtcp2/examples/template.h
153
- - ext/ngtcp2/examples/tests/README.rst
154
- - ext/ngtcp2/examples/tests/__init__.py
155
- - ext/ngtcp2/examples/tests/config.ini.in
156
- - ext/ngtcp2/examples/tests/conftest.py
157
- - ext/ngtcp2/examples/tests/ngtcp2test/__init__.py
158
- - ext/ngtcp2/examples/tests/ngtcp2test/certs.py
159
- - ext/ngtcp2/examples/tests/ngtcp2test/client.py
160
- - ext/ngtcp2/examples/tests/ngtcp2test/env.py
161
- - ext/ngtcp2/examples/tests/ngtcp2test/log.py
162
- - ext/ngtcp2/examples/tests/ngtcp2test/server.py
163
- - ext/ngtcp2/examples/tests/ngtcp2test/tls.py
164
- - ext/ngtcp2/examples/tests/test_01_handshake.py
165
- - ext/ngtcp2/examples/tests/test_02_resume.py
166
- - ext/ngtcp2/examples/tests/test_03_earlydata.py
167
- - ext/ngtcp2/examples/tests/test_04_clientcert.py
168
- - ext/ngtcp2/examples/tests/test_05_ciphers.py
169
- - ext/ngtcp2/examples/tls_client_context.h
170
- - ext/ngtcp2/examples/tls_client_context_boringssl.cc
171
- - ext/ngtcp2/examples/tls_client_context_boringssl.h
172
- - ext/ngtcp2/examples/tls_client_context_gnutls.cc
173
- - ext/ngtcp2/examples/tls_client_context_gnutls.h
174
- - ext/ngtcp2/examples/tls_client_context_openssl.cc
175
- - ext/ngtcp2/examples/tls_client_context_openssl.h
176
- - ext/ngtcp2/examples/tls_client_context_picotls.cc
177
- - ext/ngtcp2/examples/tls_client_context_picotls.h
178
- - ext/ngtcp2/examples/tls_client_context_wolfssl.cc
179
- - ext/ngtcp2/examples/tls_client_context_wolfssl.h
180
- - ext/ngtcp2/examples/tls_client_session.h
181
- - ext/ngtcp2/examples/tls_client_session_boringssl.cc
182
- - ext/ngtcp2/examples/tls_client_session_boringssl.h
183
- - ext/ngtcp2/examples/tls_client_session_gnutls.cc
184
- - ext/ngtcp2/examples/tls_client_session_gnutls.h
185
- - ext/ngtcp2/examples/tls_client_session_openssl.cc
186
- - ext/ngtcp2/examples/tls_client_session_openssl.h
187
- - ext/ngtcp2/examples/tls_client_session_picotls.cc
188
- - ext/ngtcp2/examples/tls_client_session_picotls.h
189
- - ext/ngtcp2/examples/tls_client_session_wolfssl.cc
190
- - ext/ngtcp2/examples/tls_client_session_wolfssl.h
191
- - ext/ngtcp2/examples/tls_server_context.h
192
- - ext/ngtcp2/examples/tls_server_context_boringssl.cc
193
- - ext/ngtcp2/examples/tls_server_context_boringssl.h
194
- - ext/ngtcp2/examples/tls_server_context_gnutls.cc
195
- - ext/ngtcp2/examples/tls_server_context_gnutls.h
196
- - ext/ngtcp2/examples/tls_server_context_openssl.cc
197
- - ext/ngtcp2/examples/tls_server_context_openssl.h
198
- - ext/ngtcp2/examples/tls_server_context_picotls.cc
199
- - ext/ngtcp2/examples/tls_server_context_picotls.h
200
- - ext/ngtcp2/examples/tls_server_context_wolfssl.cc
201
- - ext/ngtcp2/examples/tls_server_context_wolfssl.h
202
- - ext/ngtcp2/examples/tls_server_session.h
203
- - ext/ngtcp2/examples/tls_server_session_boringssl.cc
204
- - ext/ngtcp2/examples/tls_server_session_boringssl.h
205
- - ext/ngtcp2/examples/tls_server_session_gnutls.cc
206
- - ext/ngtcp2/examples/tls_server_session_gnutls.h
207
- - ext/ngtcp2/examples/tls_server_session_openssl.cc
208
- - ext/ngtcp2/examples/tls_server_session_openssl.h
209
- - ext/ngtcp2/examples/tls_server_session_picotls.cc
210
- - ext/ngtcp2/examples/tls_server_session_picotls.h
211
- - ext/ngtcp2/examples/tls_server_session_wolfssl.cc
212
- - ext/ngtcp2/examples/tls_server_session_wolfssl.h
213
- - ext/ngtcp2/examples/tls_session_base_gnutls.cc
214
- - ext/ngtcp2/examples/tls_session_base_gnutls.h
215
- - ext/ngtcp2/examples/tls_session_base_openssl.cc
216
- - ext/ngtcp2/examples/tls_session_base_openssl.h
217
- - ext/ngtcp2/examples/tls_session_base_picotls.cc
218
- - ext/ngtcp2/examples/tls_session_base_picotls.h
219
- - ext/ngtcp2/examples/tls_session_base_wolfssl.cc
220
- - ext/ngtcp2/examples/tls_session_base_wolfssl.h
221
- - ext/ngtcp2/examples/tls_shared_picotls.cc
222
- - ext/ngtcp2/examples/tls_shared_picotls.h
223
- - ext/ngtcp2/examples/util.cc
224
- - ext/ngtcp2/examples/util.h
225
- - ext/ngtcp2/examples/util_gnutls.cc
226
- - ext/ngtcp2/examples/util_openssl.cc
227
- - ext/ngtcp2/examples/util_test.cc
228
- - ext/ngtcp2/examples/util_test.h
229
- - ext/ngtcp2/examples/util_wolfssl.cc
230
- - ext/ngtcp2/fuzz/corpus/decode_frame/ack
231
- - ext/ngtcp2/fuzz/corpus/decode_frame/ack_ecn
232
- - ext/ngtcp2/fuzz/corpus/decode_frame/connection_close
233
- - ext/ngtcp2/fuzz/corpus/decode_frame/crypto
234
- - ext/ngtcp2/fuzz/corpus/decode_frame/data_blocked
235
- - ext/ngtcp2/fuzz/corpus/decode_frame/datagram
236
- - ext/ngtcp2/fuzz/corpus/decode_frame/datagram_len
237
- - ext/ngtcp2/fuzz/corpus/decode_frame/max_data
238
- - ext/ngtcp2/fuzz/corpus/decode_frame/max_stream_data
239
- - ext/ngtcp2/fuzz/corpus/decode_frame/max_streams
240
- - ext/ngtcp2/fuzz/corpus/decode_frame/new_connection_id
241
- - ext/ngtcp2/fuzz/corpus/decode_frame/new_token
242
- - ext/ngtcp2/fuzz/corpus/decode_frame/path_challenge
243
- - ext/ngtcp2/fuzz/corpus/decode_frame/path_response
244
- - ext/ngtcp2/fuzz/corpus/decode_frame/reset_stream
245
- - ext/ngtcp2/fuzz/corpus/decode_frame/retire_connection_id
246
- - ext/ngtcp2/fuzz/corpus/decode_frame/stop_sending
247
- - ext/ngtcp2/fuzz/corpus/decode_frame/stream
248
- - ext/ngtcp2/fuzz/corpus/decode_frame/stream_data_blocked
249
- - ext/ngtcp2/fuzz/corpus/decode_frame/stream_len
250
- - ext/ngtcp2/fuzz/corpus/decode_frame/streams_blocked
251
- - ext/ngtcp2/fuzz/corpus/ksl/random
252
- - ext/ngtcp2/fuzz/decode_frame.cc
253
- - ext/ngtcp2/fuzz/ksl.cc
254
- - ext/ngtcp2/interop/Dockerfile
255
- - ext/ngtcp2/interop/run_endpoint.sh
256
- - ext/ngtcp2/lib/CMakeLists.txt
257
- - ext/ngtcp2/lib/Makefile.am
258
- - ext/ngtcp2/lib/includes/CMakeLists.txt
259
- - ext/ngtcp2/lib/includes/Makefile.am
260
- - ext/ngtcp2/lib/includes/ngtcp2/ngtcp2.h
261
- - ext/ngtcp2/lib/includes/ngtcp2/version.h.in
262
- - ext/ngtcp2/lib/libngtcp2.pc.in
263
- - ext/ngtcp2/lib/ngtcp2_acktr.c
264
- - ext/ngtcp2/lib/ngtcp2_acktr.h
265
- - ext/ngtcp2/lib/ngtcp2_addr.c
266
- - ext/ngtcp2/lib/ngtcp2_addr.h
267
- - ext/ngtcp2/lib/ngtcp2_balloc.c
268
- - ext/ngtcp2/lib/ngtcp2_balloc.h
269
- - ext/ngtcp2/lib/ngtcp2_bbr.c
270
- - ext/ngtcp2/lib/ngtcp2_bbr.h
271
- - ext/ngtcp2/lib/ngtcp2_bbr2.c
272
- - ext/ngtcp2/lib/ngtcp2_bbr2.h
273
- - ext/ngtcp2/lib/ngtcp2_buf.c
274
- - ext/ngtcp2/lib/ngtcp2_buf.h
275
- - ext/ngtcp2/lib/ngtcp2_cc.c
276
- - ext/ngtcp2/lib/ngtcp2_cc.h
277
- - ext/ngtcp2/lib/ngtcp2_cid.c
278
- - ext/ngtcp2/lib/ngtcp2_cid.h
279
- - ext/ngtcp2/lib/ngtcp2_conn.c
280
- - ext/ngtcp2/lib/ngtcp2_conn.h
281
- - ext/ngtcp2/lib/ngtcp2_conn_stat.h
282
- - ext/ngtcp2/lib/ngtcp2_conv.c
283
- - ext/ngtcp2/lib/ngtcp2_conv.h
284
- - ext/ngtcp2/lib/ngtcp2_crypto.c
285
- - ext/ngtcp2/lib/ngtcp2_crypto.h
286
- - ext/ngtcp2/lib/ngtcp2_err.c
287
- - ext/ngtcp2/lib/ngtcp2_err.h
288
- - ext/ngtcp2/lib/ngtcp2_gaptr.c
289
- - ext/ngtcp2/lib/ngtcp2_gaptr.h
290
- - ext/ngtcp2/lib/ngtcp2_idtr.c
291
- - ext/ngtcp2/lib/ngtcp2_idtr.h
292
- - ext/ngtcp2/lib/ngtcp2_ksl.c
293
- - ext/ngtcp2/lib/ngtcp2_ksl.h
294
- - ext/ngtcp2/lib/ngtcp2_log.c
295
- - ext/ngtcp2/lib/ngtcp2_log.h
296
- - ext/ngtcp2/lib/ngtcp2_macro.h
297
- - ext/ngtcp2/lib/ngtcp2_map.c
298
- - ext/ngtcp2/lib/ngtcp2_map.h
299
- - ext/ngtcp2/lib/ngtcp2_mem.c
300
- - ext/ngtcp2/lib/ngtcp2_mem.h
301
- - ext/ngtcp2/lib/ngtcp2_net.h
302
- - ext/ngtcp2/lib/ngtcp2_objalloc.c
303
- - ext/ngtcp2/lib/ngtcp2_objalloc.h
304
- - ext/ngtcp2/lib/ngtcp2_opl.c
305
- - ext/ngtcp2/lib/ngtcp2_opl.h
306
- - ext/ngtcp2/lib/ngtcp2_path.c
307
- - ext/ngtcp2/lib/ngtcp2_path.h
308
- - ext/ngtcp2/lib/ngtcp2_pkt.c
309
- - ext/ngtcp2/lib/ngtcp2_pkt.h
310
- - ext/ngtcp2/lib/ngtcp2_pmtud.c
311
- - ext/ngtcp2/lib/ngtcp2_pmtud.h
312
- - ext/ngtcp2/lib/ngtcp2_ppe.c
313
- - ext/ngtcp2/lib/ngtcp2_ppe.h
314
- - ext/ngtcp2/lib/ngtcp2_pq.c
315
- - ext/ngtcp2/lib/ngtcp2_pq.h
316
- - ext/ngtcp2/lib/ngtcp2_pv.c
317
- - ext/ngtcp2/lib/ngtcp2_pv.h
318
- - ext/ngtcp2/lib/ngtcp2_qlog.c
319
- - ext/ngtcp2/lib/ngtcp2_qlog.h
320
- - ext/ngtcp2/lib/ngtcp2_range.c
321
- - ext/ngtcp2/lib/ngtcp2_range.h
322
- - ext/ngtcp2/lib/ngtcp2_rcvry.h
323
- - ext/ngtcp2/lib/ngtcp2_ringbuf.c
324
- - ext/ngtcp2/lib/ngtcp2_ringbuf.h
325
- - ext/ngtcp2/lib/ngtcp2_rob.c
326
- - ext/ngtcp2/lib/ngtcp2_rob.h
327
- - ext/ngtcp2/lib/ngtcp2_rst.c
328
- - ext/ngtcp2/lib/ngtcp2_rst.h
329
- - ext/ngtcp2/lib/ngtcp2_rtb.c
330
- - ext/ngtcp2/lib/ngtcp2_rtb.h
331
- - ext/ngtcp2/lib/ngtcp2_str.c
332
- - ext/ngtcp2/lib/ngtcp2_str.h
333
- - ext/ngtcp2/lib/ngtcp2_strm.c
334
- - ext/ngtcp2/lib/ngtcp2_strm.h
335
- - ext/ngtcp2/lib/ngtcp2_unreachable.c
336
- - ext/ngtcp2/lib/ngtcp2_unreachable.h
337
- - ext/ngtcp2/lib/ngtcp2_vec.c
338
- - ext/ngtcp2/lib/ngtcp2_vec.h
339
- - ext/ngtcp2/lib/ngtcp2_version.c
340
- - ext/ngtcp2/lib/ngtcp2_window_filter.c
341
- - ext/ngtcp2/lib/ngtcp2_window_filter.h
342
- - ext/ngtcp2/m4/ax_check_compile_flag.m4
343
- - ext/ngtcp2/m4/ax_cxx_compile_stdcxx.m4
344
- - ext/ngtcp2/tests/CMakeLists.txt
345
- - ext/ngtcp2/tests/Makefile.am
346
- - ext/ngtcp2/tests/main.c
347
- - ext/ngtcp2/tests/ngtcp2_acktr_test.c
348
- - ext/ngtcp2/tests/ngtcp2_acktr_test.h
349
- - ext/ngtcp2/tests/ngtcp2_conn_test.c
350
- - ext/ngtcp2/tests/ngtcp2_conn_test.h
351
- - ext/ngtcp2/tests/ngtcp2_conv_test.c
352
- - ext/ngtcp2/tests/ngtcp2_conv_test.h
353
- - ext/ngtcp2/tests/ngtcp2_crypto_test.c
354
- - ext/ngtcp2/tests/ngtcp2_crypto_test.h
355
- - ext/ngtcp2/tests/ngtcp2_gaptr_test.c
356
- - ext/ngtcp2/tests/ngtcp2_gaptr_test.h
357
- - ext/ngtcp2/tests/ngtcp2_idtr_test.c
358
- - ext/ngtcp2/tests/ngtcp2_idtr_test.h
359
- - ext/ngtcp2/tests/ngtcp2_ksl_test.c
360
- - ext/ngtcp2/tests/ngtcp2_ksl_test.h
361
- - ext/ngtcp2/tests/ngtcp2_map_test.c
362
- - ext/ngtcp2/tests/ngtcp2_map_test.h
363
- - ext/ngtcp2/tests/ngtcp2_pkt_test.c
364
- - ext/ngtcp2/tests/ngtcp2_pkt_test.h
365
- - ext/ngtcp2/tests/ngtcp2_pmtud_test.c
366
- - ext/ngtcp2/tests/ngtcp2_pmtud_test.h
367
- - ext/ngtcp2/tests/ngtcp2_pv_test.c
368
- - ext/ngtcp2/tests/ngtcp2_pv_test.h
369
- - ext/ngtcp2/tests/ngtcp2_range_test.c
370
- - ext/ngtcp2/tests/ngtcp2_range_test.h
371
- - ext/ngtcp2/tests/ngtcp2_ringbuf_test.c
372
- - ext/ngtcp2/tests/ngtcp2_ringbuf_test.h
373
- - ext/ngtcp2/tests/ngtcp2_rob_test.c
374
- - ext/ngtcp2/tests/ngtcp2_rob_test.h
375
- - ext/ngtcp2/tests/ngtcp2_rtb_test.c
376
- - ext/ngtcp2/tests/ngtcp2_rtb_test.h
377
- - ext/ngtcp2/tests/ngtcp2_str_test.c
378
- - ext/ngtcp2/tests/ngtcp2_str_test.h
379
- - ext/ngtcp2/tests/ngtcp2_strm_test.c
380
- - ext/ngtcp2/tests/ngtcp2_strm_test.h
381
- - ext/ngtcp2/tests/ngtcp2_test_helper.c
382
- - ext/ngtcp2/tests/ngtcp2_test_helper.h
383
- - ext/ngtcp2/tests/ngtcp2_vec_test.c
384
- - ext/ngtcp2/tests/ngtcp2_vec_test.h
385
- - ext/ngtcp2/third-party/CMakeLists.txt
386
- - ext/ngtcp2/third-party/Makefile.am
387
- - ext/ngtcp2/third-party/http-parser/AUTHORS
388
- - ext/ngtcp2/third-party/http-parser/LICENSE-MIT
389
- - ext/ngtcp2/third-party/http-parser/Makefile
390
- - ext/ngtcp2/third-party/http-parser/README.md
391
- - ext/ngtcp2/third-party/http-parser/bench.c
392
- - ext/ngtcp2/third-party/http-parser/contrib/parsertrace.c
393
- - ext/ngtcp2/third-party/http-parser/contrib/url_parser.c
394
- - ext/ngtcp2/third-party/http-parser/http_parser.c
395
- - ext/ngtcp2/third-party/http-parser/http_parser.gyp
396
- - ext/ngtcp2/third-party/http-parser/http_parser.h
397
- - ext/ngtcp2/third-party/http-parser/test.c
74
+ - ext/rakefile.rb
75
+ - ext/ruby-protocol-quic-lock.yml
76
+ - ext/teapot.rb
398
77
  - lib/protocol/quic.rb
399
78
  - lib/protocol/quic/version.rb
400
79
  - license.md
80
+ - readme.md
81
+ - releases.md
401
82
  homepage: https://github.com/socketry/protocol-quic
402
83
  licenses:
403
84
  - MIT
404
- metadata: {}
405
- post_install_message:
85
+ metadata:
86
+ documentation_uri: https://socketry.github.io/protocol-quic/
87
+ source_code_uri: https://github.com/socketry/protocol-quic.git
88
+ funding_uri: https://github.com/sponsors/ioquatix
406
89
  rdoc_options: []
407
90
  require_paths:
408
91
  - lib
@@ -410,15 +93,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
410
93
  requirements:
411
94
  - - ">="
412
95
  - !ruby/object:Gem::Version
413
- version: '2.7'
96
+ version: '3.3'
414
97
  required_rubygems_version: !ruby/object:Gem::Requirement
415
98
  requirements:
416
99
  - - ">="
417
100
  - !ruby/object:Gem::Version
418
101
  version: '0'
419
102
  requirements: []
420
- rubygems_version: 3.4.7
421
- signing_key:
103
+ rubygems_version: 4.0.10
422
104
  specification_version: 4
423
105
  summary: QUIC protocol implementation using ngtcp2.
424
106
  test_files: []