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
@@ -1,356 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- # nghttp2 - HTTP/2 C Library
4
- #
5
- # Copyright (c) 2020 ngtcp2 contributors
6
- # Copyright (c) 2012 Tatsuhiro Tsujikawa
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining
9
- # a copy of this software and associated documentation files (the
10
- # "Software"), to deal in the Software without restriction, including
11
- # without limitation the rights to use, copy, modify, merge, publish,
12
- # distribute, sublicense, and/or sell copies of the Software, and to
13
- # permit persons to whom the Software is furnished to do so, subject to
14
- # the following conditions:
15
-
16
- # The above copyright notice and this permission notice shall be
17
- # included in all copies or substantial portions of the Software.
18
-
19
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
-
27
- # Generates API reference from C source code.
28
-
29
- import re, sys, argparse, os.path
30
-
31
- class FunctionDoc:
32
- def __init__(self, name, content, domain, filename):
33
- self.name = name
34
- self.content = content
35
- self.domain = domain
36
- if self.domain == 'function':
37
- self.funcname = re.search(r'(ngtcp2_[^ )]+)\(', self.name).group(1)
38
- self.filename = filename
39
-
40
- def write(self, out):
41
- out.write('.. {}:: {}\n'.format(self.domain, self.name))
42
- out.write('\n')
43
- for line in self.content:
44
- out.write(' {}\n'.format(line))
45
-
46
- class StructDoc:
47
- def __init__(self, name, content, members, member_domain):
48
- self.name = name
49
- self.content = content
50
- self.members = members
51
- self.member_domain = member_domain
52
-
53
- def write(self, out):
54
- if self.name:
55
- out.write('.. type:: {}\n'.format(self.name))
56
- out.write('\n')
57
- for line in self.content:
58
- out.write(' {}\n'.format(line))
59
- out.write('\n')
60
- for name, content in self.members:
61
- out.write(' .. {}:: {}\n'.format(self.member_domain, name))
62
- out.write('\n')
63
- for line in content:
64
- out.write(' {}\n'.format(line))
65
- out.write('\n')
66
-
67
- class EnumDoc:
68
- def __init__(self, name, content, members):
69
- self.name = name
70
- self.content = content
71
- self.members = members
72
-
73
- def write(self, out):
74
- if self.name:
75
- out.write('.. type:: {}\n'.format(self.name))
76
- out.write('\n')
77
- for line in self.content:
78
- out.write(' {}\n'.format(line))
79
- out.write('\n')
80
- for name, content in self.members:
81
- out.write(' .. enum:: {}\n'.format(name))
82
- out.write('\n')
83
- for line in content:
84
- out.write(' {}\n'.format(line))
85
- out.write('\n')
86
-
87
- class MacroDoc:
88
- def __init__(self, name, content):
89
- self.name = name
90
- self.content = content
91
-
92
- def write(self, out):
93
- out.write('''.. macro:: {}\n'''.format(self.name))
94
- out.write('\n')
95
- for line in self.content:
96
- out.write(' {}\n'.format(line))
97
-
98
- class MacroSectionDoc:
99
- def __init__(self, content):
100
- self.content = content
101
-
102
- def write(self, out):
103
- out.write('\n')
104
- c = ' '.join(self.content).strip()
105
- out.write(c)
106
- out.write('\n')
107
- out.write('-' * len(c))
108
- out.write('\n\n')
109
-
110
- class TypedefDoc:
111
- def __init__(self, name, content):
112
- self.name = name
113
- self.content = content
114
-
115
- def write(self, out):
116
- out.write('''.. type:: {}\n'''.format(self.name))
117
- out.write('\n')
118
- for line in self.content:
119
- out.write(' {}\n'.format(line))
120
-
121
- def make_api_ref(infile):
122
- macros = []
123
- enums = []
124
- types = []
125
- functions = []
126
- while True:
127
- line = infile.readline()
128
- if not line:
129
- break
130
- elif line == '/**\n':
131
- line = infile.readline()
132
- doctype = line.split()[1]
133
- if doctype == '@function':
134
- functions.append(process_function('function', infile))
135
- elif doctype == '@functypedef':
136
- types.append(process_function('type', infile))
137
- elif doctype == '@struct' or doctype == '@union':
138
- types.append(process_struct(infile))
139
- elif doctype == '@enum':
140
- enums.append(process_enum(infile))
141
- elif doctype == '@macro':
142
- macros.append(process_macro(infile))
143
- elif doctype == '@macrosection':
144
- macros.append(process_macrosection(infile))
145
- elif doctype == '@typedef':
146
- types.append(process_typedef(infile))
147
- return macros, enums, types, functions
148
-
149
- def output(
150
- title, indexfile, macrosfile, enumsfile, typesfile, funcsdir,
151
- macros, enums, types, functions):
152
- indexfile.write('''
153
- {title}
154
- {titledecoration}
155
-
156
- .. toctree::
157
- :maxdepth: 1
158
-
159
- {macros}
160
- {enums}
161
- {types}
162
- '''.format(
163
- title=title, titledecoration='='*len(title),
164
- macros=os.path.splitext(os.path.basename(macrosfile.name))[0],
165
- enums=os.path.splitext(os.path.basename(enumsfile.name))[0],
166
- types=os.path.splitext(os.path.basename(typesfile.name))[0],
167
- ))
168
-
169
- for doc in functions:
170
- indexfile.write(' {}\n'.format(doc.funcname))
171
-
172
- macrosfile.write('''
173
- Macros
174
- ======
175
- ''')
176
- for doc in macros:
177
- doc.write(macrosfile)
178
-
179
- enumsfile.write('''
180
- Enums
181
- =====
182
- ''')
183
- for doc in enums:
184
- doc.write(enumsfile)
185
-
186
- typesfile.write('''
187
- Types (structs, unions and typedefs)
188
- ====================================
189
- ''')
190
- for doc in types:
191
- doc.write(typesfile)
192
-
193
- for doc in functions:
194
- with open(os.path.join(funcsdir, doc.funcname + '.rst'), 'w') as f:
195
- f.write('''
196
- {funcname}
197
- {secul}
198
-
199
- Synopsis
200
- --------
201
-
202
- *#include <ngtcp2/{filename}>*
203
-
204
- '''.format(funcname=doc.funcname, secul='='*len(doc.funcname),
205
- filename=doc.filename))
206
- doc.write(f)
207
-
208
- def process_macro(infile):
209
- content = read_content(infile)
210
- lines = []
211
- while True:
212
- line = infile.readline()
213
- if not line:
214
- break
215
- line = line.rstrip()
216
- lines.append(line.rstrip('\\'))
217
- if not line.endswith('\\'):
218
- break
219
-
220
- macro_name = re.sub(r'#define ', '', ''.join(lines))
221
- m = re.match(r'^[^( ]+(:?\(.*?\))?', macro_name)
222
- macro_name = m.group(0)
223
- return MacroDoc(macro_name, content)
224
-
225
- def process_macrosection(infile):
226
- content = read_content(infile)
227
- return MacroSectionDoc(content)
228
-
229
- def process_typedef(infile):
230
- content = read_content(infile)
231
- typedef = infile.readline()
232
- typedef = re.sub(r';\n$', '', typedef)
233
- typedef = re.sub(r'typedef ', '', typedef)
234
- return TypedefDoc(typedef, content)
235
-
236
- def process_enum(infile):
237
- members = []
238
- enum_name = None
239
- content = read_content(infile)
240
- while True:
241
- line = infile.readline()
242
- if not line:
243
- break
244
- elif re.match(r'\s*/\*\*\n', line):
245
- member_content = read_content(infile)
246
- line = infile.readline()
247
- items = line.split()
248
- member_name = items[0].rstrip(',')
249
- if len(items) >= 3:
250
- member_content.insert(0, '(``{}``) '\
251
- .format(' '.join(items[2:]).rstrip(',')))
252
- members.append((member_name, member_content))
253
- elif line.startswith('}'):
254
- enum_name = line.rstrip().split()[1]
255
- enum_name = re.sub(r';$', '', enum_name)
256
- break
257
- return EnumDoc(enum_name, content, members)
258
-
259
- def process_struct(infile):
260
- members = []
261
- struct_name = None
262
- content = read_content(infile)
263
- while True:
264
- line = infile.readline()
265
- if not line:
266
- break
267
- elif re.match(r'\s*/\*\*\n', line):
268
- member_content = read_content(infile)
269
- line = infile.readline()
270
- member_name = line.rstrip().rstrip(';')
271
- members.append((member_name, member_content))
272
- elif line.startswith('}') or\
273
- (line.startswith('typedef ') and line.endswith(';\n')):
274
- if line.startswith('}'):
275
- index = 1
276
- else:
277
- index = 3
278
- struct_name = line.rstrip().split()[index]
279
- struct_name = re.sub(r';$', '', struct_name)
280
- break
281
- return StructDoc(struct_name, content, members, 'member')
282
-
283
- def process_function(domain, infile):
284
- content = read_content(infile)
285
- func_proto = []
286
- while True:
287
- line = infile.readline()
288
- if not line:
289
- break
290
- elif line == '\n':
291
- break
292
- else:
293
- func_proto.append(line)
294
- func_proto = ''.join(func_proto)
295
- func_proto = re.sub(r'int (pkt_info|transport_params|conn_stat|settings|callbacks)_version,',
296
- '', func_proto)
297
- func_proto = re.sub(r'_versioned\(', '(', func_proto)
298
- func_proto = re.sub(r';\n$', '', func_proto)
299
- func_proto = re.sub(r'\s+', ' ', func_proto)
300
- func_proto = re.sub(r'NGTCP2_EXTERN ', '', func_proto)
301
- func_proto = re.sub(r'typedef ', '', func_proto)
302
- filename = os.path.basename(infile.name)
303
- return FunctionDoc(func_proto, content, domain, filename)
304
-
305
- def read_content(infile):
306
- content = []
307
- while True:
308
- line = infile.readline()
309
- if not line:
310
- break
311
- if re.match(r'\s*\*/\n', line):
312
- break
313
- else:
314
- content.append(transform_content(line.rstrip()))
315
- return content
316
-
317
- def arg_repl(matchobj):
318
- return '*{}*'.format(matchobj.group(1).replace('*', '\\*'))
319
-
320
- def transform_content(content):
321
- content = re.sub(r'^\s+\* ?', '', content)
322
- content = re.sub(r'\|([^\s|]+)\|', arg_repl, content)
323
- return content
324
-
325
- if __name__ == '__main__':
326
- parser = argparse.ArgumentParser(description="Generate API reference")
327
- parser.add_argument('--title', default='API Reference',
328
- help='title of index page')
329
- parser.add_argument('index', type=argparse.FileType('w'),
330
- help='index output file')
331
- parser.add_argument('macros', type=argparse.FileType('w'),
332
- help='macros section output file. The filename should be macros.rst')
333
- parser.add_argument('enums', type=argparse.FileType('w'),
334
- help='enums section output file. The filename should be enums.rst')
335
- parser.add_argument('types', type=argparse.FileType('w'),
336
- help='types section output file. The filename should be types.rst')
337
- parser.add_argument('funcsdir',
338
- help='functions doc output dir')
339
- parser.add_argument('files', nargs='+', type=argparse.FileType('r'),
340
- help='source file')
341
- args = parser.parse_args()
342
- macros = []
343
- enums = []
344
- types = []
345
- funcs = []
346
- for infile in args.files:
347
- m, e, t, f = make_api_ref(infile)
348
- macros.extend(m)
349
- enums.extend(e)
350
- types.extend(t)
351
- funcs.extend(f)
352
- funcs.sort(key=lambda x: x.funcname)
353
- output(
354
- args.title,
355
- args.index, args.macros, args.enums, args.types, args.funcsdir,
356
- macros, enums, types, funcs)
@@ -1,94 +0,0 @@
1
- # ngtcp2
2
-
3
- # Copyright (c) 2020 ngtcp2 contributors
4
-
5
- # Permission is hereby granted, free of charge, to any person obtaining
6
- # a copy of this software and associated documentation files (the
7
- # "Software"), to deal in the Software without restriction, including
8
- # without limitation the rights to use, copy, modify, merge, publish,
9
- # distribute, sublicense, and/or sell copies of the Software, and to
10
- # permit persons to whom the Software is furnished to do so, subject to
11
- # the following conditions:
12
-
13
- # The above copyright notice and this permission notice shall be
14
- # included in all copies or substantial portions of the Software.
15
-
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
-
24
- # Configuration file for the Sphinx documentation builder.
25
- #
26
- # This file only contains a selection of the most common options. For a full
27
- # list see the documentation:
28
- # https://www.sphinx-doc.org/en/master/usage/configuration.html
29
-
30
- # -- Path setup --------------------------------------------------------------
31
-
32
- # If extensions (or modules to document with autodoc) are in another directory,
33
- # add these directories to sys.path here. If the directory is relative to the
34
- # documentation root, use os.path.abspath to make it absolute, like shown here.
35
- #
36
- # import os
37
- # import sys
38
- # sys.path.insert(0, os.path.abspath('.'))
39
-
40
-
41
- # -- Project information -----------------------------------------------------
42
-
43
- project = 'ngtcp2'
44
- copyright = '2020, ngtcp2 contributors'
45
- author = 'ngtcp2 contributors'
46
-
47
-
48
- # -- General configuration ---------------------------------------------------
49
-
50
- # Add any Sphinx extension module names here, as strings. They can be
51
- # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
52
- # ones.
53
- extensions = [
54
- ]
55
-
56
- # Add any paths that contain templates here, relative to this directory.
57
- templates_path = ['_templates']
58
-
59
- # List of patterns, relative to source directory, that match files and
60
- # directories to ignore when looking for source files.
61
- # This pattern also affects html_static_path and html_extra_path.
62
- exclude_patterns = []
63
-
64
-
65
- # -- Options for HTML output -------------------------------------------------
66
-
67
- # The theme to use for HTML and HTML Help pages. See the documentation for
68
- # a list of builtin themes.
69
- #
70
- html_theme = 'sphinx_rtd_theme'
71
-
72
- # Add any paths that contain custom static files (such as style sheets) here,
73
- # relative to this directory. They are copied after the builtin static files,
74
- # so a file named "default.css" will overwrite the builtin "default.css".
75
- html_static_path = ['_static']
76
-
77
- # The reST default role (used for this markup: `text`) to use for all documents.
78
- default_role = 'c:func'
79
- primary_domain = 'c'
80
-
81
- # manpage URL pattern
82
- manpages_url = 'https://man7.org/linux/man-pages/man{section}/{page}.{section}.html'
83
-
84
- # The default language to highlight source code in.
85
- highlight_language = 'c'
86
-
87
- # The version info for the project you're documenting, acts as replacement for
88
- # |version| and |release|, also used in various other places throughout the
89
- # built documents.
90
- #
91
- # The short X.Y version.
92
- version = '@PACKAGE_VERSION@'
93
- # The full version, including alpha/beta/rc tags.
94
- release = '@PACKAGE_VERSION@'
@@ -1,22 +0,0 @@
1
- .. ngtcp2 documentation master file, created by
2
- sphinx-quickstart on Mon Nov 30 22:15:12 2020.
3
- You can adapt this file completely to your liking, but it should at least
4
- contain the root `toctree` directive.
5
-
6
- Welcome to ngtcp2's documentation!
7
- ==================================
8
-
9
- .. toctree::
10
- :maxdepth: 1
11
- :caption: Contents:
12
-
13
- programmers-guide
14
- apiref
15
- crypto_apiref
16
-
17
- Indices and tables
18
- ==================
19
-
20
- * :ref:`genindex`
21
- * :ref:`modindex`
22
- * :ref:`search`