@annadata/capacitor-mqtt-quic 0.2.2 → 0.2.4

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 (629) hide show
  1. package/dist/esm/web.d.ts +39 -5
  2. package/dist/esm/web.d.ts.map +1 -1
  3. package/dist/esm/web.js +428 -142
  4. package/dist/esm/web.js.map +1 -1
  5. package/dist/esm/webMqttCodec.d.ts +115 -0
  6. package/dist/esm/webMqttCodec.d.ts.map +1 -0
  7. package/dist/esm/webMqttCodec.js +410 -0
  8. package/dist/esm/webMqttCodec.js.map +1 -0
  9. package/dist/plugin.cjs.js +830 -11272
  10. package/dist/plugin.cjs.js.map +1 -1
  11. package/dist/plugin.js +830 -11272
  12. package/dist/plugin.js.map +1 -1
  13. package/ios/libs/libnghttp3.a +0 -0
  14. package/ios/libs/libngtcp2.a +0 -0
  15. package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
  16. package/ios/libs/libwolfssl.a +0 -0
  17. package/ios/libs-simulator/libnghttp3.a +0 -0
  18. package/ios/libs-simulator/libngtcp2.a +0 -0
  19. package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
  20. package/ios/libs-simulator/libwolfssl.a +0 -0
  21. package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
  22. package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
  23. package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
  24. package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
  25. package/package.json +2 -3
  26. package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/nghttp3.h +0 -3295
  27. package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/version.h +0 -46
  28. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Config.cmake +0 -3
  29. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +0 -65
  30. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +0 -29
  31. package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets.cmake +0 -114
  32. package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.a +0 -0
  33. package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.so +0 -0
  34. package/android/install/nghttp3-android/arm64-v8a/lib/pkgconfig/libnghttp3.pc +0 -34
  35. package/android/install/nghttp3-android/arm64-v8a/share/doc/nghttp3/README.rst +0 -75
  36. package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/nghttp3.h +0 -3295
  37. package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/version.h +0 -46
  38. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Config.cmake +0 -3
  39. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +0 -65
  40. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +0 -29
  41. package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets.cmake +0 -114
  42. package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.a +0 -0
  43. package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.so +0 -0
  44. package/android/install/nghttp3-android/armeabi-v7a/lib/pkgconfig/libnghttp3.pc +0 -34
  45. package/android/install/nghttp3-android/armeabi-v7a/share/doc/nghttp3/README.rst +0 -75
  46. package/android/install/nghttp3-android/x86_64/include/nghttp3/nghttp3.h +0 -3295
  47. package/android/install/nghttp3-android/x86_64/include/nghttp3/version.h +0 -46
  48. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Config.cmake +0 -3
  49. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +0 -65
  50. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets-release.cmake +0 -29
  51. package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets.cmake +0 -114
  52. package/android/install/nghttp3-android/x86_64/lib/libnghttp3.a +0 -0
  53. package/android/install/nghttp3-android/x86_64/lib/libnghttp3.so +0 -0
  54. package/android/install/nghttp3-android/x86_64/lib/pkgconfig/libnghttp3.pc +0 -34
  55. package/android/install/nghttp3-android/x86_64/share/doc/nghttp3/README.rst +0 -75
  56. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2.h +0 -6254
  57. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto.h +0 -1037
  58. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +0 -106
  59. package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/version.h +0 -51
  60. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Config.cmake +0 -6
  61. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +0 -65
  62. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +0 -29
  63. package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +0 -114
  64. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.a +0 -0
  65. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.so +0 -0
  66. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.a +0 -0
  67. package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.so +0 -0
  68. package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2.pc +0 -33
  69. package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +0 -34
  70. package/android/install/ngtcp2-android/arm64-v8a/share/doc/ngtcp2/README.rst +0 -385
  71. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2.h +0 -6254
  72. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto.h +0 -1037
  73. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +0 -106
  74. package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/version.h +0 -51
  75. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Config.cmake +0 -6
  76. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +0 -65
  77. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +0 -29
  78. package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +0 -114
  79. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.a +0 -0
  80. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.so +0 -0
  81. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.a +0 -0
  82. package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.so +0 -0
  83. package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2.pc +0 -33
  84. package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +0 -34
  85. package/android/install/ngtcp2-android/armeabi-v7a/share/doc/ngtcp2/README.rst +0 -385
  86. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2.h +0 -6254
  87. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto.h +0 -1037
  88. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto_wolfssl.h +0 -106
  89. package/android/install/ngtcp2-android/x86_64/include/ngtcp2/version.h +0 -51
  90. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Config.cmake +0 -6
  91. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +0 -65
  92. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +0 -29
  93. package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets.cmake +0 -114
  94. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.a +0 -0
  95. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.so +0 -0
  96. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.a +0 -0
  97. package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.so +0 -0
  98. package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2.pc +0 -33
  99. package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +0 -34
  100. package/android/install/ngtcp2-android/x86_64/share/doc/ngtcp2/README.rst +0 -385
  101. package/android/install/wolfssl-android/arm64-v8a/bin/wolfssl-config +0 -117
  102. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/callbacks.h +0 -93
  103. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test.h +0 -7073
  104. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test_sm.h +0 -2913
  105. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/crl.h +0 -58
  106. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/error-ssl.h +0 -280
  107. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ocsp.h +0 -191
  108. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/aes.h +0 -117
  109. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1.h +0 -315
  110. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1t.h +0 -30
  111. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bio.h +0 -237
  112. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bn.h +0 -332
  113. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/buffer.h +0 -57
  114. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/camellia.h +0 -27
  115. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cmac.h +0 -66
  116. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cms.h +0 -26
  117. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/compat_types.h +0 -70
  118. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/conf.h +0 -117
  119. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/crypto.h +0 -171
  120. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/des.h +0 -124
  121. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dh.h +0 -144
  122. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dsa.h +0 -164
  123. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec.h +0 -525
  124. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec25519.h +0 -46
  125. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec448.h +0 -46
  126. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdh.h +0 -49
  127. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdsa.h +0 -87
  128. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed25519.h +0 -49
  129. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed448.h +0 -49
  130. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/engine.h +0 -9
  131. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/err.h +0 -84
  132. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/evp.h +0 -1540
  133. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/fips_rand.h +0 -125
  134. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/hmac.h +0 -98
  135. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/kdf.h +0 -45
  136. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/lhash.h +0 -64
  137. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md4.h +0 -66
  138. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md5.h +0 -108
  139. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/modes.h +0 -45
  140. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/obj_mac.h +0 -92
  141. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/objects.h +0 -86
  142. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ocsp.h +0 -108
  143. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslconf.h +0 -8
  144. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslv.h +0 -78
  145. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ossl_typ.h +0 -32
  146. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pem.h +0 -301
  147. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs12.h +0 -57
  148. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs7.h +0 -110
  149. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rand.h +0 -38
  150. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rc4.h +0 -64
  151. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ripemd.h +0 -58
  152. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rsa.h +0 -291
  153. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/safestack.h +0 -40
  154. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha.h +0 -331
  155. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha3.h +0 -158
  156. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/srp.h +0 -33
  157. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl.h +0 -1923
  158. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl23.h +0 -1
  159. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/stack.h +0 -61
  160. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/tls1.h +0 -64
  161. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/txt_db.h +0 -60
  162. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ui.h +0 -2
  163. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509.h +0 -227
  164. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509_vfy.h +0 -50
  165. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509v3.h +0 -237
  166. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/options.h +0 -273
  167. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/quic.h +0 -310
  168. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer.h +0 -359
  169. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer_error.h +0 -151
  170. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ssl.h +0 -6300
  171. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/test.h +0 -4989
  172. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/version.h +0 -40
  173. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/aes.h +0 -1074
  174. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/arc4.h +0 -69
  175. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ascon.h +0 -109
  176. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn.h +0 -2855
  177. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn_public.h +0 -1009
  178. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-impl.h +0 -155
  179. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-int.h +0 -174
  180. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2.h +0 -108
  181. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/camellia.h +0 -116
  182. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha.h +0 -133
  183. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +0 -157
  184. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cmac.h +0 -168
  185. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/coding.h +0 -107
  186. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/compress.h +0 -60
  187. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cpuid.h +0 -153
  188. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cryptocb.h +0 -770
  189. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve25519.h +0 -225
  190. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve448.h +0 -151
  191. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/des3.h +0 -167
  192. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dh.h +0 -210
  193. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dilithium.h +0 -1051
  194. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dsa.h +0 -121
  195. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ecc.h +0 -1074
  196. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/eccsi.h +0 -176
  197. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed25519.h +0 -239
  198. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed448.h +0 -214
  199. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/error-crypt.h +0 -368
  200. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_lms.h +0 -62
  201. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_mlkem.h +0 -74
  202. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_xmss.h +0 -53
  203. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/falcon.h +0 -180
  204. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_448.h +0 -122
  205. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_operations.h +0 -189
  206. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fips_test.h +0 -131
  207. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_448.h +0 -84
  208. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_operations.h +0 -134
  209. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hash.h +0 -296
  210. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hmac.h +0 -231
  211. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hpke.h +0 -145
  212. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/integer.h +0 -449
  213. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/kdf.h +0 -199
  214. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/lms.h +0 -202
  215. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/logging.h +0 -588
  216. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md2.h +0 -83
  217. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md4.h +0 -77
  218. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md5.h +0 -141
  219. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mem_track.h +0 -968
  220. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/memory.h +0 -545
  221. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/misc.h +0 -214
  222. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mlkem.h +0 -377
  223. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_class.h +0 -1021
  224. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_superclass.h +0 -96
  225. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/oid_sum.h +0 -1907
  226. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs12.h +0 -79
  227. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs7.h +0 -578
  228. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/poly1305.h +0 -207
  229. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pwdbased.h +0 -81
  230. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/random.h +0 -300
  231. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rc2.h +0 -68
  232. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ripemd.h +0 -67
  233. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rsa.h +0 -494
  234. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sakke.h +0 -228
  235. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/settings.h +0 -4762
  236. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha.h +0 -237
  237. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha256.h +0 -360
  238. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha3.h +0 -274
  239. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha512.h +0 -372
  240. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/signature.h +0 -87
  241. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/siphash.h +0 -101
  242. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm2.h +0 -27
  243. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm3.h +0 -27
  244. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm4.h +0 -27
  245. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sp_int.h +0 -1396
  246. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sphincs.h +0 -167
  247. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/srp.h +0 -313
  248. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/tfm.h +0 -941
  249. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/types.h +0 -2383
  250. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/visibility.h +0 -97
  251. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_encrypt.h +0 -126
  252. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_lms.h +0 -506
  253. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_mlkem.h +0 -370
  254. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_port.h +0 -1764
  255. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_xmss.h +0 -285
  256. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfevent.h +0 -120
  257. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfmath.h +0 -175
  258. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/xmss.h +0 -203
  259. package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfio.h +0 -1035
  260. package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
  261. package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.la +0 -41
  262. package/android/install/wolfssl-android/arm64-v8a/lib/pkgconfig/wolfssl.pc +0 -11
  263. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/QUIC.md +0 -117
  264. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/README.txt +0 -8
  265. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_client.c +0 -245
  266. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_server.c +0 -331
  267. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/client.c +0 -4885
  268. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoclient.c +0 -341
  269. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoserver.c +0 -498
  270. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client-dtls.c +0 -135
  271. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client.c +0 -78
  272. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server-dtls.c +0 -134
  273. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server.c +0 -83
  274. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/server.c +0 -4124
  275. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/tls_bench.c +0 -2357
  276. package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/taoCert.txt +0 -176
  277. package/android/install/wolfssl-android/armeabi-v7a/bin/wolfssl-config +0 -117
  278. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/callbacks.h +0 -93
  279. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test.h +0 -7073
  280. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test_sm.h +0 -2913
  281. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/crl.h +0 -58
  282. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/error-ssl.h +0 -280
  283. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ocsp.h +0 -191
  284. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/aes.h +0 -117
  285. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1.h +0 -315
  286. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1t.h +0 -30
  287. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bio.h +0 -237
  288. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bn.h +0 -332
  289. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/buffer.h +0 -57
  290. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/camellia.h +0 -27
  291. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cmac.h +0 -66
  292. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cms.h +0 -26
  293. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/compat_types.h +0 -70
  294. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/conf.h +0 -117
  295. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/crypto.h +0 -171
  296. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/des.h +0 -124
  297. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dh.h +0 -144
  298. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dsa.h +0 -164
  299. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec.h +0 -525
  300. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec25519.h +0 -46
  301. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec448.h +0 -46
  302. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdh.h +0 -49
  303. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdsa.h +0 -87
  304. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed25519.h +0 -49
  305. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed448.h +0 -49
  306. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/engine.h +0 -9
  307. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/err.h +0 -84
  308. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/evp.h +0 -1540
  309. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/fips_rand.h +0 -125
  310. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/hmac.h +0 -98
  311. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/kdf.h +0 -45
  312. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/lhash.h +0 -64
  313. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md4.h +0 -66
  314. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md5.h +0 -108
  315. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/modes.h +0 -45
  316. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/obj_mac.h +0 -92
  317. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/objects.h +0 -86
  318. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ocsp.h +0 -108
  319. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslconf.h +0 -8
  320. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslv.h +0 -78
  321. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ossl_typ.h +0 -32
  322. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pem.h +0 -301
  323. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs12.h +0 -57
  324. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs7.h +0 -110
  325. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rand.h +0 -38
  326. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rc4.h +0 -64
  327. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ripemd.h +0 -58
  328. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rsa.h +0 -291
  329. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/safestack.h +0 -40
  330. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha.h +0 -331
  331. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha3.h +0 -158
  332. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/srp.h +0 -33
  333. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl.h +0 -1923
  334. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl23.h +0 -1
  335. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/stack.h +0 -61
  336. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/tls1.h +0 -64
  337. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/txt_db.h +0 -60
  338. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ui.h +0 -2
  339. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509.h +0 -227
  340. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509_vfy.h +0 -50
  341. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509v3.h +0 -237
  342. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/options.h +0 -261
  343. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/quic.h +0 -310
  344. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer.h +0 -359
  345. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer_error.h +0 -151
  346. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ssl.h +0 -6300
  347. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/test.h +0 -4989
  348. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/version.h +0 -40
  349. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/aes.h +0 -1074
  350. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/arc4.h +0 -69
  351. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ascon.h +0 -109
  352. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn.h +0 -2855
  353. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn_public.h +0 -1009
  354. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-impl.h +0 -155
  355. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-int.h +0 -174
  356. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2.h +0 -108
  357. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/camellia.h +0 -116
  358. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha.h +0 -133
  359. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +0 -157
  360. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cmac.h +0 -168
  361. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/coding.h +0 -107
  362. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/compress.h +0 -60
  363. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cpuid.h +0 -153
  364. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cryptocb.h +0 -770
  365. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve25519.h +0 -225
  366. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve448.h +0 -151
  367. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/des3.h +0 -167
  368. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dh.h +0 -210
  369. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dilithium.h +0 -1051
  370. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dsa.h +0 -121
  371. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ecc.h +0 -1074
  372. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/eccsi.h +0 -176
  373. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed25519.h +0 -239
  374. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed448.h +0 -214
  375. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/error-crypt.h +0 -368
  376. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_lms.h +0 -62
  377. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_mlkem.h +0 -74
  378. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_xmss.h +0 -53
  379. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/falcon.h +0 -180
  380. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_448.h +0 -122
  381. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_operations.h +0 -189
  382. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fips_test.h +0 -131
  383. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_448.h +0 -84
  384. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_operations.h +0 -134
  385. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hash.h +0 -296
  386. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hmac.h +0 -231
  387. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hpke.h +0 -145
  388. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/integer.h +0 -449
  389. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/kdf.h +0 -199
  390. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/lms.h +0 -202
  391. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/logging.h +0 -588
  392. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md2.h +0 -83
  393. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md4.h +0 -77
  394. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md5.h +0 -141
  395. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mem_track.h +0 -968
  396. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/memory.h +0 -545
  397. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/misc.h +0 -214
  398. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mlkem.h +0 -377
  399. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_class.h +0 -1021
  400. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_superclass.h +0 -96
  401. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/oid_sum.h +0 -1907
  402. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs12.h +0 -79
  403. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs7.h +0 -578
  404. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/poly1305.h +0 -207
  405. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pwdbased.h +0 -81
  406. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/random.h +0 -300
  407. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rc2.h +0 -68
  408. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ripemd.h +0 -67
  409. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rsa.h +0 -494
  410. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sakke.h +0 -228
  411. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/settings.h +0 -4762
  412. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha.h +0 -237
  413. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha256.h +0 -360
  414. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha3.h +0 -274
  415. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha512.h +0 -372
  416. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/signature.h +0 -87
  417. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/siphash.h +0 -101
  418. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm2.h +0 -27
  419. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm3.h +0 -27
  420. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm4.h +0 -27
  421. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sp_int.h +0 -1396
  422. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sphincs.h +0 -167
  423. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/srp.h +0 -313
  424. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/tfm.h +0 -941
  425. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/types.h +0 -2383
  426. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/visibility.h +0 -97
  427. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_encrypt.h +0 -126
  428. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_lms.h +0 -506
  429. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_mlkem.h +0 -370
  430. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_port.h +0 -1764
  431. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_xmss.h +0 -285
  432. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfevent.h +0 -120
  433. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfmath.h +0 -175
  434. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/xmss.h +0 -203
  435. package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfio.h +0 -1035
  436. package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
  437. package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.la +0 -41
  438. package/android/install/wolfssl-android/armeabi-v7a/lib/pkgconfig/wolfssl.pc +0 -11
  439. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/QUIC.md +0 -117
  440. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/README.txt +0 -8
  441. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_client.c +0 -245
  442. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_server.c +0 -331
  443. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/client.c +0 -4885
  444. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoclient.c +0 -341
  445. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoserver.c +0 -498
  446. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client-dtls.c +0 -135
  447. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client.c +0 -78
  448. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server-dtls.c +0 -134
  449. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server.c +0 -83
  450. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/server.c +0 -4124
  451. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/tls_bench.c +0 -2357
  452. package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/taoCert.txt +0 -176
  453. package/android/install/wolfssl-android/x86_64/bin/wolfssl-config +0 -117
  454. package/android/install/wolfssl-android/x86_64/include/wolfssl/callbacks.h +0 -93
  455. package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test.h +0 -7073
  456. package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test_sm.h +0 -2913
  457. package/android/install/wolfssl-android/x86_64/include/wolfssl/crl.h +0 -58
  458. package/android/install/wolfssl-android/x86_64/include/wolfssl/error-ssl.h +0 -280
  459. package/android/install/wolfssl-android/x86_64/include/wolfssl/ocsp.h +0 -191
  460. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/aes.h +0 -117
  461. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1.h +0 -315
  462. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1t.h +0 -30
  463. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bio.h +0 -237
  464. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bn.h +0 -332
  465. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/buffer.h +0 -57
  466. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/camellia.h +0 -27
  467. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cmac.h +0 -66
  468. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cms.h +0 -26
  469. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/compat_types.h +0 -70
  470. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/conf.h +0 -117
  471. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/crypto.h +0 -171
  472. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/des.h +0 -124
  473. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dh.h +0 -144
  474. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dsa.h +0 -164
  475. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec.h +0 -525
  476. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec25519.h +0 -46
  477. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec448.h +0 -46
  478. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdh.h +0 -49
  479. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdsa.h +0 -87
  480. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed25519.h +0 -49
  481. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed448.h +0 -49
  482. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/engine.h +0 -9
  483. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/err.h +0 -84
  484. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/evp.h +0 -1540
  485. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/fips_rand.h +0 -125
  486. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/hmac.h +0 -98
  487. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/kdf.h +0 -45
  488. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/lhash.h +0 -64
  489. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md4.h +0 -66
  490. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md5.h +0 -108
  491. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/modes.h +0 -45
  492. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/obj_mac.h +0 -92
  493. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/objects.h +0 -86
  494. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ocsp.h +0 -108
  495. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslconf.h +0 -8
  496. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslv.h +0 -78
  497. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ossl_typ.h +0 -32
  498. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pem.h +0 -301
  499. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs12.h +0 -57
  500. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs7.h +0 -110
  501. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rand.h +0 -38
  502. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rc4.h +0 -64
  503. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ripemd.h +0 -58
  504. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rsa.h +0 -291
  505. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/safestack.h +0 -40
  506. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha.h +0 -331
  507. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha3.h +0 -158
  508. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/srp.h +0 -33
  509. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl.h +0 -1923
  510. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl23.h +0 -1
  511. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/stack.h +0 -61
  512. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/tls1.h +0 -64
  513. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/txt_db.h +0 -60
  514. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ui.h +0 -2
  515. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509.h +0 -227
  516. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509_vfy.h +0 -50
  517. package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509v3.h +0 -237
  518. package/android/install/wolfssl-android/x86_64/include/wolfssl/options.h +0 -273
  519. package/android/install/wolfssl-android/x86_64/include/wolfssl/quic.h +0 -310
  520. package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer.h +0 -359
  521. package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer_error.h +0 -151
  522. package/android/install/wolfssl-android/x86_64/include/wolfssl/ssl.h +0 -6300
  523. package/android/install/wolfssl-android/x86_64/include/wolfssl/test.h +0 -4989
  524. package/android/install/wolfssl-android/x86_64/include/wolfssl/version.h +0 -40
  525. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/aes.h +0 -1074
  526. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/arc4.h +0 -69
  527. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ascon.h +0 -109
  528. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn.h +0 -2855
  529. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn_public.h +0 -1009
  530. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-impl.h +0 -155
  531. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-int.h +0 -174
  532. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2.h +0 -108
  533. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/camellia.h +0 -116
  534. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha.h +0 -133
  535. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha20_poly1305.h +0 -157
  536. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cmac.h +0 -168
  537. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/coding.h +0 -107
  538. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/compress.h +0 -60
  539. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cpuid.h +0 -153
  540. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cryptocb.h +0 -770
  541. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve25519.h +0 -225
  542. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve448.h +0 -151
  543. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/des3.h +0 -167
  544. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dh.h +0 -210
  545. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dilithium.h +0 -1051
  546. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dsa.h +0 -121
  547. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ecc.h +0 -1074
  548. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/eccsi.h +0 -176
  549. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed25519.h +0 -239
  550. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed448.h +0 -214
  551. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/error-crypt.h +0 -368
  552. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_lms.h +0 -62
  553. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_mlkem.h +0 -74
  554. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_xmss.h +0 -53
  555. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/falcon.h +0 -180
  556. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_448.h +0 -122
  557. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_operations.h +0 -189
  558. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fips_test.h +0 -131
  559. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_448.h +0 -84
  560. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_operations.h +0 -134
  561. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hash.h +0 -296
  562. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hmac.h +0 -231
  563. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hpke.h +0 -145
  564. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/integer.h +0 -449
  565. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/kdf.h +0 -199
  566. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/lms.h +0 -202
  567. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/logging.h +0 -588
  568. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md2.h +0 -83
  569. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md4.h +0 -77
  570. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md5.h +0 -141
  571. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mem_track.h +0 -968
  572. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/memory.h +0 -545
  573. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/misc.h +0 -214
  574. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mlkem.h +0 -377
  575. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_class.h +0 -1021
  576. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_superclass.h +0 -96
  577. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/oid_sum.h +0 -1907
  578. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs12.h +0 -79
  579. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs7.h +0 -578
  580. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/poly1305.h +0 -207
  581. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pwdbased.h +0 -81
  582. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/random.h +0 -300
  583. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rc2.h +0 -68
  584. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ripemd.h +0 -67
  585. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rsa.h +0 -494
  586. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sakke.h +0 -228
  587. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/settings.h +0 -4762
  588. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha.h +0 -237
  589. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha256.h +0 -360
  590. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha3.h +0 -274
  591. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha512.h +0 -372
  592. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/signature.h +0 -87
  593. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/siphash.h +0 -101
  594. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm2.h +0 -27
  595. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm3.h +0 -27
  596. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm4.h +0 -27
  597. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sp_int.h +0 -1396
  598. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sphincs.h +0 -167
  599. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/srp.h +0 -313
  600. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/tfm.h +0 -941
  601. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/types.h +0 -2383
  602. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/visibility.h +0 -97
  603. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_encrypt.h +0 -126
  604. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_lms.h +0 -506
  605. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_mlkem.h +0 -370
  606. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_port.h +0 -1764
  607. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_xmss.h +0 -285
  608. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfevent.h +0 -120
  609. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfmath.h +0 -175
  610. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/xmss.h +0 -203
  611. package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfio.h +0 -1035
  612. package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
  613. package/android/install/wolfssl-android/x86_64/lib/libwolfssl.la +0 -41
  614. package/android/install/wolfssl-android/x86_64/lib/pkgconfig/wolfssl.pc +0 -11
  615. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/QUIC.md +0 -117
  616. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/README.txt +0 -8
  617. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_client.c +0 -245
  618. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_server.c +0 -331
  619. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/client.c +0 -4885
  620. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoclient.c +0 -341
  621. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoserver.c +0 -498
  622. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client-dtls.c +0 -135
  623. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client.c +0 -78
  624. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server-dtls.c +0 -134
  625. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server.c +0 -83
  626. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/server.c +0 -4124
  627. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/tls_bench.c +0 -2357
  628. package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/taoCert.txt +0 -176
  629. package/docs/diff-node_modules-vs-standalone-android-src.patch +0 -1031
@@ -1,1031 +0,0 @@
1
- diff -Naur capacitor-mqtt-quic/android/src/main/cpp/ngtcp2_jni.cpp annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/cpp/ngtcp2_jni.cpp
2
- --- capacitor-mqtt-quic/android/src/main/cpp/ngtcp2_jni.cpp 2026-02-18 22:28:55
3
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/cpp/ngtcp2_jni.cpp 2026-02-19 10:27:58
4
- @@ -24,6 +24,7 @@
5
- #include <algorithm>
6
- #include <atomic>
7
- #include <chrono>
8
- +#include <cinttypes>
9
- #include <cstdarg>
10
- #include <cstdlib>
11
- #include <cstdio>
12
- @@ -73,7 +74,11 @@
13
- class QuicClient {
14
- public:
15
- QuicClient(std::string host, uint16_t port)
16
- - : host_(std::move(host)),
17
- + : QuicClient(std::move(host), "", port) {}
18
- +
19
- + QuicClient(std::string host_for_tls, std::string connect_addr, uint16_t port)
20
- + : host_(std::move(host_for_tls)),
21
- + connect_addr_(connect_addr.empty() ? host_ : std::move(connect_addr)),
22
- port_(port),
23
- fd_(-1),
24
- ssl_ctx_(nullptr),
25
- @@ -181,6 +186,9 @@
26
- buffer[i] = state.recv_buf.front();
27
- state.recv_buf.pop_front();
28
- }
29
- + if (n > 0) {
30
- + LOGI("read_stream stream_id=%" PRId64 " returning %zu bytes", (int64_t)stream_id, n);
31
- + }
32
- return (ssize_t)n;
33
- }
34
-
35
- @@ -223,6 +231,8 @@
36
- std::lock_guard<std::mutex> lock(stream_mutex_);
37
- StreamState &state = streams_[stream_id];
38
- state.recv_buf.insert(state.recv_buf.end(), data, data + datalen);
39
- + LOGI("recv stream data stream_id=%" PRId64 " len=%zu recv_buf_total=%zu",
40
- + (int64_t)stream_id, datalen, state.recv_buf.size());
41
- if (flags & NGTCP2_STREAM_DATA_FLAG_FIN) {
42
- state.fin_received = true;
43
- }
44
- @@ -254,7 +264,8 @@
45
-
46
- char port_str[16];
47
- snprintf(port_str, sizeof(port_str), "%u", port_);
48
- - int rv = getaddrinfo(host_.c_str(), port_str, &hints, &res);
49
- + const char *resolve_host = connect_addr_.empty() ? host_.c_str() : connect_addr_.c_str();
50
- + int rv = getaddrinfo(resolve_host, port_str, &hints, &res);
51
- if (rv != 0) {
52
- setError(gai_strerror(rv));
53
- return -1;
54
- @@ -269,6 +280,13 @@
55
- if (::connect(fd, rp->ai_addr, rp->ai_addrlen) == 0) {
56
- memcpy(&remote_addr_, rp->ai_addr, rp->ai_addrlen);
57
- remote_addrlen_ = (socklen_t)rp->ai_addrlen;
58
- + char buf[INET6_ADDRSTRLEN];
59
- + const void *src = (rp->ai_family == AF_INET)
60
- + ? (void *)&((struct sockaddr_in *)rp->ai_addr)->sin_addr
61
- + : (void *)&((struct sockaddr_in6 *)rp->ai_addr)->sin6_addr;
62
- + if (inet_ntop(rp->ai_family, src, buf, sizeof(buf))) {
63
- + resolved_address_ = buf;
64
- + }
65
- break;
66
- }
67
- ::close(fd);
68
- @@ -651,30 +669,44 @@
69
- }
70
-
71
- void cleanup() {
72
- - if (conn_) {
73
- - ngtcp2_conn_del(conn_);
74
- + ngtcp2_conn *conn_to_del = nullptr;
75
- + void *ssl_to_free = nullptr;
76
- + void *ssl_ctx_to_free = nullptr;
77
- + int fd_to_close = -1;
78
- + int wake0 = -1, wake1 = -1;
79
- + {
80
- + std::lock_guard<std::mutex> lock(cleanup_mutex_);
81
- + conn_to_del = conn_;
82
- conn_ = nullptr;
83
- - }
84
- - if (ssl_) {
85
- - wolfSSL_free(ssl_);
86
- + ssl_to_free = ssl_;
87
- ssl_ = nullptr;
88
- - }
89
- - if (ssl_ctx_) {
90
- - wolfSSL_CTX_free(ssl_ctx_);
91
- + ssl_ctx_to_free = ssl_ctx_;
92
- ssl_ctx_ = nullptr;
93
- - }
94
- - if (fd_ != -1) {
95
- - ::close(fd_);
96
- + fd_to_close = fd_;
97
- fd_ = -1;
98
- - }
99
- - if (wakeup_fds_[0] != -1) {
100
- - ::close(wakeup_fds_[0]);
101
- + wake0 = wakeup_fds_[0];
102
- + wake1 = wakeup_fds_[1];
103
- wakeup_fds_[0] = -1;
104
- - }
105
- - if (wakeup_fds_[1] != -1) {
106
- - ::close(wakeup_fds_[1]);
107
- wakeup_fds_[1] = -1;
108
- }
109
- + if (conn_to_del) {
110
- + ngtcp2_conn_del(conn_to_del);
111
- + }
112
- + if (ssl_to_free) {
113
- + wolfSSL_free(static_cast<WOLFSSL *>(ssl_to_free));
114
- + }
115
- + if (ssl_ctx_to_free) {
116
- + wolfSSL_CTX_free(static_cast<WOLFSSL_CTX *>(ssl_ctx_to_free));
117
- + }
118
- + if (fd_to_close != -1) {
119
- + ::close(fd_to_close);
120
- + }
121
- + if (wake0 != -1) {
122
- + ::close(wake0);
123
- + }
124
- + if (wake1 != -1) {
125
- + ::close(wake1);
126
- + }
127
- }
128
-
129
- void clearError() {
130
- @@ -766,9 +798,14 @@
131
- return client->on_handshake_completed();
132
- }
133
-
134
- + public:
135
- + const std::string &resolved_address() const { return resolved_address_; }
136
- +
137
- private:
138
- std::string host_;
139
- + std::string connect_addr_;
140
- uint16_t port_;
141
- + std::string resolved_address_;
142
-
143
- int fd_;
144
- struct sockaddr_storage remote_addr_;
145
- @@ -800,6 +837,8 @@
146
-
147
- mutable std::mutex err_mutex_;
148
- std::string last_error_str_;
149
- +
150
- + std::mutex cleanup_mutex_;
151
- };
152
-
153
- static std::map<jlong, std::unique_ptr<QuicClient>> connections;
154
- @@ -827,6 +866,27 @@
155
- return handle;
156
- }
157
-
158
- +JNIEXPORT jlong JNICALL
159
- +Java_ai_annadata_mqttquic_quic_NGTCP2Client_nativeCreateConnectionWithAddress(
160
- + JNIEnv *env, jobject thiz, jstring hostnameForTls, jstring connectAddress, jint port) {
161
- + const char *tls_str = env->GetStringUTFChars(hostnameForTls, nullptr);
162
- + const char *addr_str = env->GetStringUTFChars(connectAddress, nullptr);
163
- + if (!tls_str || !addr_str) {
164
- + if (tls_str) env->ReleaseStringUTFChars(hostnameForTls, tls_str);
165
- + return 0;
166
- + }
167
- + std::string host_for_tls(tls_str);
168
- + std::string connect_addr(addr_str);
169
- + env->ReleaseStringUTFChars(hostnameForTls, tls_str);
170
- + env->ReleaseStringUTFChars(connectAddress, addr_str);
171
- +
172
- + auto client = std::make_unique<QuicClient>(host_for_tls, connect_addr, (uint16_t)port);
173
- + std::lock_guard<std::mutex> lock(connections_mutex);
174
- + jlong handle = next_handle++;
175
- + connections[handle] = std::move(client);
176
- + return handle;
177
- +}
178
- +
179
- JNIEXPORT jint JNICALL
180
- Java_ai_annadata_mqttquic_quic_NGTCP2Client_nativeConnect(
181
- JNIEnv *env, jobject thiz, jlong connHandle) {
182
- @@ -929,6 +989,21 @@
183
- return env->NewStringUTF("invalid connection");
184
- }
185
- return env->NewStringUTF(it->second->last_error());
186
- +}
187
- +
188
- +JNIEXPORT jstring JNICALL
189
- +Java_ai_annadata_mqttquic_quic_NGTCP2Client_nativeGetLastResolvedAddress(
190
- + JNIEnv *env, jobject thiz, jlong connHandle) {
191
- + std::lock_guard<std::mutex> lock(connections_mutex);
192
- + auto it = connections.find(connHandle);
193
- + if (it == connections.end()) {
194
- + return nullptr;
195
- + }
196
- + const std::string &addr = it->second->resolved_address();
197
- + if (addr.empty()) {
198
- + return nullptr;
199
- + }
200
- + return env->NewStringUTF(addr.c_str());
201
- }
202
-
203
- // Debug-build alias: Kotlin/AGP can mangle the method name to include the module suffix.
204
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt
205
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt 2026-02-18 22:28:55
206
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt 2026-02-19 10:26:46
207
- @@ -13,10 +13,13 @@
208
- import android.util.Base64
209
- import kotlinx.coroutines.CoroutineScope
210
- import kotlinx.coroutines.Dispatchers
211
- +import kotlinx.coroutines.delay
212
- import kotlinx.coroutines.launch
213
- +import kotlinx.coroutines.withContext
214
- import java.nio.charset.StandardCharsets
215
- import java.io.File
216
- import java.io.IOException
217
- +import java.net.InetAddress
218
-
219
- /**
220
- * Capacitor plugin bridge. Phase 3: connect/publish/subscribe call into MQTTClient.
221
- @@ -27,6 +30,29 @@
222
- private var client = MQTTClient(MQTTClient.ProtocolVersion.AUTO)
223
- private val scope = CoroutineScope(Dispatchers.Main)
224
-
225
- + /** Last resolved IP per host (used when DNS fails on reconnect). */
226
- + @Volatile
227
- + private var lastResolvedHost: String? = null
228
- + @Volatile
229
- + private var lastResolvedIp: String? = null
230
- +
231
- + /** Resolve hostname to IP for socket connect (avoids "No address" on reconnect). Returns null if resolution fails. */
232
- + private fun resolveHostToIp(host: String): String? {
233
- + return try {
234
- + InetAddress.getAllByName(host).firstOrNull()?.hostAddress?.also { ip ->
235
- + lastResolvedHost = host
236
- + lastResolvedIp = ip
237
- + }
238
- + } catch (e: Exception) {
239
- + null
240
- + }
241
- + }
242
- +
243
- + /** Use cached IP for this host if fresh resolve failed (e.g. on reconnect). */
244
- + private fun resolveOrCachedIp(host: String): String? {
245
- + return resolveHostToIp(host) ?: if (host == lastResolvedHost) lastResolvedIp else null
246
- + }
247
- +
248
- private fun bundledCaFilePath(): String? {
249
- return try {
250
- val assetName = "mqttquic_ca.pem"
251
- @@ -100,9 +126,38 @@
252
- notifyListeners("message", data)
253
- }
254
- }
255
- - client.connect(host, port, clientId, username, password, cleanSession ?: true, keepalive ?: 20, sessionExpiryInterval)
256
- - call.resolve(JSObject().put("connected", true))
257
- - notifyListeners("connected", JSObject().put("connected", true))
258
- + // Resolve host to IP on IO so native getaddrinfo gets an IP (avoids "No address associated with hostname" on reconnect)
259
- + val noAddressMsg = "No address associated with hostname"
260
- + var lastException: Exception? = null
261
- + for (attempt in 1..2) {
262
- + try {
263
- + withContext(Dispatchers.IO) {
264
- + val resolvedIp = resolveOrCachedIp(host)
265
- + client.connect(host, port, clientId, username, password, cleanSession ?: true, keepalive ?: 20, sessionExpiryInterval, connectAddress = resolvedIp)
266
- + }
267
- + // Cache resolved IP from native so reconnect can use it when Java DNS fails
268
- + client.getLastResolvedAddress()?.let { ip ->
269
- + lastResolvedHost = host
270
- + lastResolvedIp = ip
271
- + }
272
- + call.resolve(JSObject().put("connected", true))
273
- + notifyListeners("connected", JSObject().put("connected", true))
274
- + return@launch
275
- + } catch (e: Exception) {
276
- + // Cache resolved IP from native even on failure (e.g. CONNACK timeout) so reconnect can use it
277
- + client.getLastResolvedAddress()?.let { ip ->
278
- + lastResolvedHost = host
279
- + lastResolvedIp = ip
280
- + }
281
- + lastException = e
282
- + if (attempt == 1 && e.message?.contains(noAddressMsg, ignoreCase = true) == true) {
283
- + delay(2000L)
284
- + continue
285
- + }
286
- + break
287
- + }
288
- + }
289
- + call.reject(lastException?.message ?: "Connection failed")
290
- } catch (e: Exception) {
291
- call.reject(e.message ?: "Connection failed")
292
- }
293
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt
294
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt 2026-02-19 13:50:48
295
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt 2026-02-19 12:34:46
296
- @@ -1,5 +1,6 @@
297
- package ai.annadata.mqttquic.client
298
-
299
- +import android.util.Log
300
- import ai.annadata.mqttquic.mqtt.MQTT5PropertyType
301
- import ai.annadata.mqttquic.mqtt.MQTTConnAckCode
302
- import ai.annadata.mqttquic.mqtt.MQTTMessageType
303
- @@ -15,6 +16,7 @@
304
- import ai.annadata.mqttquic.transport.MQTTStreamWriter
305
- import ai.annadata.mqttquic.transport.QUICStreamReader
306
- import ai.annadata.mqttquic.transport.QUICStreamWriter
307
- +import kotlinx.coroutines.CompletableDeferred
308
- import kotlinx.coroutines.CoroutineScope
309
- import kotlinx.coroutines.Dispatchers
310
- import kotlinx.coroutines.delay
311
- @@ -24,6 +26,9 @@
312
- import kotlinx.coroutines.sync.Mutex
313
- import kotlinx.coroutines.sync.withLock
314
- import kotlinx.coroutines.SupervisorJob
315
- +import kotlinx.coroutines.CancellationException
316
- +import kotlinx.coroutines.TimeoutCancellationException
317
- +import kotlinx.coroutines.withTimeout
318
-
319
- /**
320
- * High-level MQTT client: connect, publish, subscribe, disconnect.
321
- @@ -62,6 +67,10 @@
322
- var onPublish: ((String, ByteArray) -> Unit)? = null
323
- /** Per-connection Topic Alias map (alias -> topic name) for MQTT 5.0 incoming PUBLISH. */
324
- private val topicAliasMap = mutableMapOf<Int, String>()
325
- + /** Pending SUBACK by packet ID. Message loop completes with (fullPacket, hdrLen). Single reader: only message loop reads stream. */
326
- + private val pendingSubacks = mutableMapOf<Int, CompletableDeferred<Pair<ByteArray, Int>>>()
327
- + /** Pending UNSUBACK by packet ID. Message loop completes when UNSUBACK is read. */
328
- + private val pendingUnsubacks = mutableMapOf<Int, CompletableDeferred<Unit>>()
329
- private val lock = Mutex()
330
- private val scope = CoroutineScope(Dispatchers.Default + SupervisorJob())
331
-
332
- @@ -77,6 +86,29 @@
333
- /** Assigned Client Identifier from CONNACK when client sent empty ClientID; null otherwise. */
334
- fun getAssignedClientIdentifier(): String? = runBlocking { lock.withLock { assignedClientIdentifier } }
335
-
336
- + /** Resolved IP used for the current/last QUIC connection (from native getaddrinfo). Used by plugin to cache for reconnect when Java DNS fails. */
337
- + fun getLastResolvedAddress(): String? = (quicClient as? NGTCP2Client)?.getLastResolvedAddress()
338
- +
339
- + /** Read full MQTT fixed header (1 byte type + 1–4 bytes remaining length per MQTT v5.0 §2.1.4). Returns (msgType, remLen, fixedHeaderBytes). */
340
- + private suspend fun readFixedHeader(r: MQTTStreamReader): Triple<Byte, Int, ByteArray> {
341
- + Log.i("MQTTClient", "readFixedHeader: requesting first byte")
342
- + var fixed = r.readexactly(1).toMutableList()
343
- + val firstByte = fixed[0].toInt() and 0xFF
344
- + Log.i("MQTTClient", "readFixedHeader: got type byte 0x${Integer.toHexString(firstByte)} ($firstByte)")
345
- + repeat(5) { // 1 type + up to 4 remaining-length bytes (Variable Byte Integer)
346
- + try {
347
- + val (rem, _) = MQTTProtocol.decodeRemainingLength(fixed.toByteArray(), 1)
348
- + Log.i("MQTTClient", "readFixedHeader: decoded remLen=$rem fixedSize=${fixed.size}")
349
- + return Triple(fixed[0], rem, fixed.toByteArray())
350
- + } catch (_: IllegalArgumentException) {
351
- + if (fixed.size > 5) throw IllegalArgumentException("Invalid remaining length")
352
- + fixed.addAll(r.readexactly(1).toList())
353
- + Log.i("MQTTClient", "readFixedHeader: added byte, fixedSize=${fixed.size}")
354
- + }
355
- + }
356
- + throw IllegalArgumentException("Invalid remaining length")
357
- + }
358
- +
359
- suspend fun connect(
360
- host: String,
361
- port: Int,
362
- @@ -85,7 +117,8 @@
363
- password: String?,
364
- cleanSession: Boolean,
365
- keepalive: Int,
366
- - sessionExpiryInterval: Int? = null
367
- + sessionExpiryInterval: Int? = null,
368
- + connectAddress: String? = null
369
- ) {
370
- lock.withLock {
371
- if (state == State.CONNECTING) {
372
- @@ -109,7 +142,7 @@
373
- } else {
374
- QuicClientStub(connack.toList())
375
- }
376
- - quic.connect(host, port)
377
- + quic.connect(host, port, connectAddress)
378
- val s = quic.openStream()
379
- val r = QUICStreamReader(s)
380
- val w = QUICStreamWriter(s)
381
- @@ -146,50 +179,118 @@
382
- w.write(connectData)
383
- w.drain()
384
-
385
- - // MQTT 5.0: server may send AUTH before CONNACK; loop until CONNACK
386
- + // MQTT 5.0: server may send AUTH before CONNACK; loop until CONNACK. Timeout so we don't block 30s until ERR_IDLE_CLOSE.
387
- + // Efficient path: drain stream (read until empty), then parse first complete packet; repeat until CONNACK or timeout.
388
- var full: ByteArray
389
- var hdrLen: Int
390
- - if (activeProtocolVersion == MQTTProtocolLevel.V5) {
391
- - while (true) {
392
- - val fixed = r.readexactly(2)
393
- - val (msgType, remLen, hLen) = MQTTProtocol.parseFixedHeader(fixed)
394
- - val rest = r.readexactly(remLen)
395
- - full = fixed + rest
396
- - hdrLen = hLen
397
- - when (msgType) {
398
- - MQTTMessageType.CONNACK -> break
399
- - MQTTMessageType.AUTH -> {
400
- - lock.withLock { state = State.ERROR }
401
- - try {
402
- - w.write(MQTT5Protocol.buildDisconnectV5(MQTT5ReasonCode.BAD_AUTHENTICATION_METHOD_DISC))
403
- - w.drain()
404
- - w.close()
405
- - } catch (_: Exception) { /* ignore */ }
406
- - throw IllegalArgumentException("Enhanced authentication not supported")
407
- + val connackTimeoutMs = 15_000L
408
- + try {
409
- + if (activeProtocolVersion == MQTTProtocolLevel.V5) {
410
- + Log.i("MQTTClient", "reading CONNACK (MQTT5) timeout=${connackTimeoutMs}ms (drain then parse)")
411
- + withTimeout(connackTimeoutMs) {
412
- + while (true) {
413
- + if (r is QUICStreamReader) {
414
- + r.drain()
415
- + val avail = r.available()
416
- + Log.i("MQTTClient", "CONNACK loop: after drain available=$avail")
417
- + val packet = r.tryConsumeNextPacket()
418
- + if (packet != null) {
419
- + val (msgType, _, fixedLen) = MQTTProtocol.parseFixedHeader(packet.copyOf(minOf(5, packet.size)))
420
- + val typeByte = msgType.toInt() and 0xFF
421
- + Log.i("MQTTClient", "CONNACK loop: packet type=0x${Integer.toHexString(typeByte)} len=${packet.size} hdrLen=$fixedLen")
422
- + when (typeByte) {
423
- + 0x20 -> {
424
- + full = packet
425
- + hdrLen = fixedLen
426
- + return@withTimeout
427
- + }
428
- + 0xF0 -> {
429
- + lock.withLock { state = State.ERROR }
430
- + try {
431
- + w.write(MQTT5Protocol.buildDisconnectV5(MQTT5ReasonCode.BAD_AUTHENTICATION_METHOD_DISC))
432
- + w.drain()
433
- + w.close()
434
- + } catch (_: Exception) { /* ignore */ }
435
- + throw IllegalArgumentException("Enhanced authentication not supported")
436
- + }
437
- + 0xE0 -> {
438
- + lock.withLock { state = State.ERROR }
439
- + throw IllegalArgumentException("Server sent DISCONNECT before CONNACK")
440
- + }
441
- + else -> Log.i("MQTTClient", "CONNACK loop: skipping non-CONNACK packet type=0x${Integer.toHexString(typeByte)}")
442
- + }
443
- + } else {
444
- + // Only delay when no data; if we have data but no packet, retry soon (avoid suspend then timeout before next iteration)
445
- + if (avail == 0) delay(50) else delay(10)
446
- + }
447
- + } else {
448
- + // Fallback for non-QUIC reader (e.g. mock)
449
- + val (msgType, remLen, fixed) = readFixedHeader(r)
450
- + val typeByte = fixed[0].toInt() and 0xFF
451
- + val rest = r.readexactly(remLen)
452
- + full = fixed + rest
453
- + hdrLen = fixed.size
454
- + when (typeByte) {
455
- + 0x20 -> return@withTimeout
456
- + 0xF0 -> {
457
- + lock.withLock { state = State.ERROR }
458
- + try {
459
- + w.write(MQTT5Protocol.buildDisconnectV5(MQTT5ReasonCode.BAD_AUTHENTICATION_METHOD_DISC))
460
- + w.drain()
461
- + w.close()
462
- + } catch (_: Exception) { /* ignore */ }
463
- + throw IllegalArgumentException("Enhanced authentication not supported")
464
- + }
465
- + 0xE0 -> {
466
- + lock.withLock { state = State.ERROR }
467
- + throw IllegalArgumentException("Server sent DISCONNECT before CONNACK")
468
- + }
469
- + else -> { /* skip; continue */ }
470
- + }
471
- + }
472
- }
473
- - MQTTMessageType.DISCONNECT -> {
474
- - lock.withLock { state = State.ERROR }
475
- - throw IllegalArgumentException("Server sent DISCONNECT before CONNACK")
476
- + }
477
- + Log.i("MQTTClient", "got CONNACK (MQTT5) (fullLen=${full.size} hdrLen=$hdrLen)")
478
- + } else {
479
- + Log.i("MQTTClient", "reading CONNACK (3.1.1) timeout=${connackTimeoutMs}ms")
480
- + withTimeout(connackTimeoutMs) {
481
- + if (r is QUICStreamReader) {
482
- + while (true) {
483
- + r.drain()
484
- + val packet = r.tryConsumeNextPacket()
485
- + if (packet != null) {
486
- + val (msgType, _, fixedLen) = MQTTProtocol.parseFixedHeader(packet.copyOf(minOf(5, packet.size)))
487
- + if (msgType == MQTTMessageType.CONNACK) {
488
- + full = packet
489
- + hdrLen = fixedLen
490
- + break
491
- + }
492
- + lock.withLock { state = State.ERROR }
493
- + throw IllegalArgumentException("expected CONNACK, got $msgType")
494
- + }
495
- + delay(50)
496
- + }
497
- + } else {
498
- + val (msgType, remLen, fixed) = readFixedHeader(r)
499
- + val rest = r.readexactly(remLen)
500
- + full = fixed + rest
501
- + hdrLen = fixed.size
502
- + if (msgType != MQTTMessageType.CONNACK) {
503
- + lock.withLock { state = State.ERROR }
504
- + throw IllegalArgumentException("expected CONNACK, got $msgType")
505
- + }
506
- }
507
- - else -> {
508
- - lock.withLock { state = State.ERROR }
509
- - throw IllegalArgumentException("Expected CONNACK or AUTH, got $msgType")
510
- - }
511
- + Log.i("MQTTClient", "got CONNACK (3.1.1)")
512
- }
513
- }
514
- - } else {
515
- - val fixed = r.readexactly(2)
516
- - val (msgType, remLen, hLen) = MQTTProtocol.parseFixedHeader(fixed)
517
- - val rest = r.readexactly(remLen)
518
- - full = fixed + rest
519
- - hdrLen = hLen
520
- - if (msgType != MQTTMessageType.CONNACK) {
521
- - lock.withLock { state = State.ERROR }
522
- - throw IllegalArgumentException("expected CONNACK, got $msgType")
523
- - }
524
- + } catch (e: TimeoutCancellationException) {
525
- + lock.withLock { state = State.ERROR }
526
- + Log.w("MQTTClient", "CONNACK read timed out after ${connackTimeoutMs}ms", e)
527
- + throw IllegalStateException("CONNACK read timed out. Drain+parse did not receive a complete CONNACK in time. Ask server to send full CONNACK (loop writev_stream until all bytes sent); or check network.", e)
528
- }
529
-
530
- if (activeProtocolVersion == MQTTProtocolLevel.V5) {
531
- + Log.i("MQTTClient", "parsing CONNACK v5 (offset=$hdrLen)")
532
- val (_, reasonCode, props) = MQTT5Protocol.parseConnackV5(full, hdrLen)
533
- if (reasonCode != MQTT5ReasonCode.SUCCESS) {
534
- lock.withLock { state = State.ERROR }
535
- @@ -210,21 +311,37 @@
536
- }
537
-
538
- lock.withLock { state = State.CONNECTED }
539
- + Log.i("MQTTClient", "state=CONNECTED, starting message and keepalive loops")
540
- startMessageLoop()
541
- startKeepaliveLoop()
542
- } catch (e: Exception) {
543
- - val wr = lock.withLock {
544
- + val (wr, quic) = lock.withLock {
545
- val w = writer
546
- + val q = quicClient
547
- quicClient = null
548
- stream = null
549
- reader = null
550
- writer = null
551
- state = State.ERROR
552
- - w
553
- + Pair(w, q)
554
- }
555
- try {
556
- wr?.close()
557
- } catch (_: Exception) { /* ignore */ }
558
- + // Skip quic.close() on timeout/cancellation: server may have already sent idle close, and native close() can crash. Prefer leak over crash.
559
- + val isTimeoutOrCancel = e is TimeoutCancellationException ||
560
- + e is CancellationException ||
561
- + e.cause is TimeoutCancellationException ||
562
- + (e.message?.contains("Timed out", ignoreCase = true) == true)
563
- + if (!isTimeoutOrCancel) {
564
- + try {
565
- + quic?.close()
566
- + } catch (ex: Exception) {
567
- + Log.w("MQTTClient", "Error closing QUIC connection on connect failure", ex)
568
- + }
569
- + } else {
570
- + Log.i("MQTTClient", "Skipping quic.close() on timeout/cancellation to avoid native crash")
571
- + }
572
- throw e
573
- }
574
- }
575
- @@ -260,59 +377,66 @@
576
-
577
- suspend fun subscribe(topic: String, qos: Int, subscriptionIdentifier: Int? = null) {
578
- if (getState() != State.CONNECTED) throw IllegalStateException("not connected")
579
- - val (r, w, version) = lock.withLock { Triple(reader, writer, activeProtocolVersion) }
580
- - if (r == null || w == null) throw IllegalStateException("no reader/writer")
581
- + val (w, version) = lock.withLock { writer to activeProtocolVersion }
582
- + if (w == null) throw IllegalStateException("no writer")
583
-
584
- val pid = nextPacketIdUsed()
585
- - val data: ByteArray
586
- - if (version == MQTTProtocolLevel.V5) {
587
- - data = MQTT5Protocol.buildSubscribeV5(pid, topic, qos, subscriptionIdentifier)
588
- - } else {
589
- - data = MQTTProtocol.buildSubscribe(pid, topic, qos)
590
- - }
591
- - w.write(data)
592
- - w.drain()
593
- + val deferred = CompletableDeferred<Pair<ByteArray, Int>>()
594
- + lock.withLock { pendingSubacks[pid] = deferred }
595
- + try {
596
- + val data: ByteArray
597
- + if (version == MQTTProtocolLevel.V5) {
598
- + data = MQTT5Protocol.buildSubscribeV5(pid, topic, qos, subscriptionIdentifier)
599
- + } else {
600
- + data = MQTTProtocol.buildSubscribe(pid, topic, qos)
601
- + }
602
- + w.write(data)
603
- + w.drain()
604
-
605
- - val fixed = r.readexactly(2)
606
- - val (_, remLen, hdrLen) = MQTTProtocol.parseFixedHeader(fixed)
607
- - val rest = r.readexactly(remLen)
608
- - val full = fixed + rest
609
- -
610
- - if (version == MQTTProtocolLevel.V5) {
611
- - val (_, reasonCodes, _) = MQTT5Protocol.parseSubackV5(full, hdrLen)
612
- - if (reasonCodes.isNotEmpty()) {
613
- - val firstRC = reasonCodes[0]
614
- - if (firstRC != MQTT5ReasonCode.GRANTED_QOS_0 && firstRC != MQTT5ReasonCode.GRANTED_QOS_1 && firstRC != MQTT5ReasonCode.GRANTED_QOS_2) {
615
- - throw IllegalArgumentException("SUBACK error $firstRC")
616
- + val (full, hdrLen) = withTimeout(15_000L) { deferred.await() }
617
- +
618
- + if (version == MQTTProtocolLevel.V5) {
619
- + val (_, reasonCodes, _) = MQTT5Protocol.parseSubackV5(full, hdrLen)
620
- + if (reasonCodes.isNotEmpty()) {
621
- + val firstRC = reasonCodes[0]
622
- + if (firstRC != MQTT5ReasonCode.GRANTED_QOS_0 && firstRC != MQTT5ReasonCode.GRANTED_QOS_1 && firstRC != MQTT5ReasonCode.GRANTED_QOS_2) {
623
- + throw IllegalArgumentException("SUBACK error $firstRC")
624
- + }
625
- }
626
- + } else {
627
- + val (_, rc, _) = MQTTProtocol.parseSuback(full, hdrLen)
628
- + if (rc > 0x02) throw IllegalArgumentException("SUBACK error $rc")
629
- }
630
- - } else {
631
- - val (_, rc, _) = MQTTProtocol.parseSuback(full, hdrLen)
632
- - if (rc > 0x02) throw IllegalArgumentException("SUBACK error $rc")
633
- + } finally {
634
- + lock.withLock { pendingSubacks.remove(pid) }
635
- }
636
- }
637
-
638
- suspend fun unsubscribe(topic: String) {
639
- if (getState() != State.CONNECTED) throw IllegalStateException("not connected")
640
- - val (r, w, version) = lock.withLock {
641
- + val (w, version) = lock.withLock {
642
- subscribedTopics.remove(topic)
643
- - Triple(reader, writer, activeProtocolVersion)
644
- + writer to activeProtocolVersion
645
- }
646
- - if (r == null || w == null) throw IllegalStateException("no reader/writer")
647
- + if (w == null) throw IllegalStateException("no writer")
648
-
649
- val pid = nextPacketIdUsed()
650
- - val data: ByteArray
651
- - if (version == MQTTProtocolLevel.V5) {
652
- - data = MQTT5Protocol.buildUnsubscribeV5(pid, listOf(topic))
653
- - } else {
654
- - data = MQTTProtocol.buildUnsubscribe(pid, listOf(topic))
655
- - }
656
- - w.write(data)
657
- - w.drain()
658
- + val deferred = CompletableDeferred<Unit>()
659
- + lock.withLock { pendingUnsubacks[pid] = deferred }
660
- + try {
661
- + val data: ByteArray
662
- + if (version == MQTTProtocolLevel.V5) {
663
- + data = MQTT5Protocol.buildUnsubscribeV5(pid, listOf(topic))
664
- + } else {
665
- + data = MQTTProtocol.buildUnsubscribe(pid, listOf(topic))
666
- + }
667
- + w.write(data)
668
- + w.drain()
669
-
670
- - val fixed = r.readexactly(2)
671
- - val (_, remLen, _) = MQTTProtocol.parseFixedHeader(fixed)
672
- - r.readexactly(remLen)
673
- + withTimeout(15_000L) { deferred.await() }
674
- + } finally {
675
- + lock.withLock { pendingUnsubacks.remove(pid) }
676
- + }
677
- }
678
-
679
- suspend fun disconnect() {
680
- @@ -323,6 +447,8 @@
681
- job?.cancel()
682
- job?.join()
683
-
684
- + failPendingSubacksUnsubacks(IllegalStateException("Disconnected"))
685
- +
686
- val (w, version) = lock.withLock {
687
- val wr = writer
688
- val v = activeProtocolVersion
689
- @@ -369,6 +495,15 @@
690
- pid
691
- }
692
-
693
- + private suspend fun failPendingSubacksUnsubacks(cause: Throwable) {
694
- + lock.withLock {
695
- + pendingSubacks.values.forEach { it.completeExceptionally(cause) }
696
- + pendingSubacks.clear()
697
- + pendingUnsubacks.values.forEach { it.completeExceptionally(cause) }
698
- + pendingUnsubacks.clear()
699
- + }
700
- + }
701
- +
702
- /** Send PINGREQ at effectiveKeepalive interval so server sees activity and does not close (idle/keepalive). [MQTT-3.1.2-20] */
703
- private fun startKeepaliveLoop() {
704
- keepaliveJob?.cancel()
705
- @@ -394,11 +529,24 @@
706
- while (isActive) {
707
- val r = lock.withLock { reader } ?: break
708
- try {
709
- - val fixed = r.readexactly(2)
710
- - val (msgType, remLen, _) = MQTTProtocol.parseFixedHeader(fixed)
711
- + val (msgType, remLen, fixed) = readFixedHeader(r)
712
- val rest = r.readexactly(remLen)
713
- val type = (msgType.toInt() and 0xF0).toByte()
714
- when (type) {
715
- + MQTTMessageType.SUBACK -> {
716
- + if (rest.size >= 2) {
717
- + val pid = ((rest[0].toInt() and 0xFF) shl 8) or (rest[1].toInt() and 0xFF)
718
- + val full = fixed + rest
719
- + val hdrLen = fixed.size
720
- + lock.withLock { pendingSubacks.remove(pid)?.complete(Pair(full, hdrLen)) }
721
- + }
722
- + }
723
- + MQTTMessageType.UNSUBACK -> {
724
- + if (rest.size >= 2) {
725
- + val pid = ((rest[0].toInt() and 0xFF) shl 8) or (rest[1].toInt() and 0xFF)
726
- + lock.withLock { pendingUnsubacks.remove(pid)?.complete(Unit) }
727
- + }
728
- + }
729
- MQTTMessageType.DISCONNECT -> {
730
- val reasonCode = if (rest.isNotEmpty()) rest[0].toInt() and 0xFF else 0x00
731
- lock.withLock {
732
- @@ -412,6 +560,7 @@
733
- topicAliasMap.clear()
734
- state = if (reasonCode >= 0x80) State.ERROR else State.DISCONNECTED
735
- }
736
- + failPendingSubacksUnsubacks(IllegalStateException("Server sent DISCONNECT"))
737
- break
738
- }
739
- MQTTMessageType.PINGREQ -> {
740
- @@ -473,6 +622,7 @@
741
- topicAliasMap.clear()
742
- state = State.DISCONNECTED
743
- }
744
- + failPendingSubacksUnsubacks(e)
745
- }
746
- break
747
- }
748
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/mqtt/MQTTProtocol.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/mqtt/MQTTProtocol.kt
749
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/mqtt/MQTTProtocol.kt 2026-02-19 13:50:43
750
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/mqtt/MQTTProtocol.kt 2026-02-19 13:05:52
751
- @@ -40,10 +40,10 @@
752
- val b = data[i].toInt() and 0xFF
753
- len += (b and 0x7F) * mul
754
- i++
755
- - if ((b and 0x80) == 0) return@repeat
756
- + if ((b and 0x80) == 0) return len to (i - offset)
757
- mul *= 128
758
- }
759
- - return len to (i - offset)
760
- + throw IllegalArgumentException("Invalid remaining length (max 4 bytes)")
761
- }
762
-
763
- fun encodeString(s: String): ByteArray {
764
- @@ -73,6 +73,37 @@
765
- val msgType = data[0]
766
- val (rem, consumed) = decodeRemainingLength(data, 1)
767
- return Triple(msgType, rem, 1 + consumed)
768
- + }
769
- +
770
- + /**
771
- + * Returns total MQTT packet length (fixed header + payload) if buffer has at least a decodable fixed header, else null.
772
- + * Use when draining stream: accumulate bytes, then call this; when buffer.size >= length, you have a complete packet.
773
- + */
774
- + fun getNextPacketLength(buffer: ByteArray): Int? {
775
- + if (buffer.size < 2) return null
776
- + // CONNACK (0x20): often single-byte remaining length (e.g. 0x20 = 32 → total 34). Handle that first.
777
- + if (buffer[0].toInt() and 0xFF == 0x20) {
778
- + val b1 = buffer[1].toInt() and 0xFF
779
- + if ((b1 and 0x80) == 0) {
780
- + val rem = b1
781
- + val total = 1 + 1 + rem
782
- + if (total <= buffer.size) return total
783
- + } else {
784
- + try {
785
- + val (rem, consumed) = decodeRemainingLength(buffer, 1)
786
- + val total = 1 + consumed + rem
787
- + if (total <= buffer.size) return total
788
- + } catch (_: IllegalArgumentException) { /* fall through */ }
789
- + }
790
- + }
791
- + for (len in minOf(5, buffer.size) downTo 2) {
792
- + try {
793
- + val (_, rem, fixedLen) = parseFixedHeader(buffer.copyOf(len))
794
- + val total = fixedLen + rem
795
- + if (total in 1..buffer.size) return total
796
- + } catch (_: IllegalArgumentException) { /* need more bytes for remaining length */ }
797
- + }
798
- + return null
799
- }
800
-
801
- fun buildConnect(
802
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/NGTCP2Client.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/NGTCP2Client.kt
803
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/NGTCP2Client.kt 2026-02-19 13:50:50
804
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/NGTCP2Client.kt 2026-02-19 12:10:12
805
- @@ -40,22 +40,28 @@
806
-
807
- // Native methods (implemented in ngtcp2_jni.cpp)
808
- private external fun nativeCreateConnection(host: String, port: Int): Long
809
- + private external fun nativeCreateConnectionWithAddress(hostnameForTls: String, connectAddress: String, port: Int): Long
810
- private external fun nativeConnect(connHandle: Long): Int
811
- private external fun nativeOpenStream(connHandle: Long): Long
812
- private external fun nativeWriteStream(connHandle: Long, streamId: Long, data: ByteArray): Int
813
- private external fun nativeReadStream(connHandle: Long, streamId: Long): ByteArray?
814
- private external fun nativeClose(connHandle: Long)
815
- private external fun nativeIsConnected(connHandle: Long): Boolean
816
- - internal external fun nativeCloseStream(connHandle: Long, streamId: Long): Int
817
- + // Public to avoid Kotlin internal-name mangling (nativeCloseStream$module) which breaks JNI lookup
818
- + external fun nativeCloseStream(connHandle: Long, streamId: Long): Int
819
- @JvmName("nativeGetLastError")
820
- - internal external fun nativeGetLastError(connHandle: Long): String
821
- -
822
- + external fun nativeGetLastError(connHandle: Long): String
823
- + private external fun nativeGetLastResolvedAddress(connHandle: Long): String?
824
- +
825
- + /** Resolved IP used for this connection (set after init_socket in native). Use for reconnect cache when Java DNS fails. */
826
- + fun getLastResolvedAddress(): String? = if (connHandle != 0L) nativeGetLastResolvedAddress(connHandle) else null
827
- +
828
- // Connection state
829
- private var connHandle: Long = 0
830
- private var isConnected: Boolean = false
831
- private val streams = mutableMapOf<Long, NGTCP2Stream>()
832
-
833
- - override suspend fun connect(host: String, port: Int) {
834
- + override suspend fun connect(host: String, port: Int, connectAddress: String?) {
835
- if (!isAvailable()) {
836
- throw IllegalStateException("ngtcp2 native library is not loaded")
837
- }
838
- @@ -63,8 +69,12 @@
839
- throw IllegalStateException("Already connected")
840
- }
841
-
842
- - // Create native connection
843
- - connHandle = nativeCreateConnection(host, port)
844
- + // Create native connection (use pre-resolved IP when given to avoid "No address" on reconnect)
845
- + connHandle = if (!connectAddress.isNullOrBlank()) {
846
- + nativeCreateConnectionWithAddress(host, connectAddress, port)
847
- + } else {
848
- + nativeCreateConnection(host, port)
849
- + }
850
- if (connHandle == 0L) {
851
- throw IllegalStateException("Failed to create QUIC connection")
852
- }
853
- @@ -147,19 +157,19 @@
854
-
855
- private var isClosed: Boolean = false
856
-
857
- + /**
858
- + * Read up to maxBytes from the stream. Returns immediately with whatever is
859
- + * currently available (possibly empty). This allows drain()-then-parse logic
860
- + * to complete: first read returns CONNACK bytes, second read returns empty
861
- + * so drain() breaks and tryConsumeNextPacket() can run. Never blocks waiting
862
- + * for more data (native recv_buf is already populated by the event loop).
863
- + */
864
- override suspend fun read(maxBytes: Int): ByteArray {
865
- if (isClosed) {
866
- throw IllegalStateException("Stream is closed")
867
- }
868
- -
869
- - while (!isClosed) {
870
- - val data = client.readStreamData(streamId)
871
- - if (data != null && data.isNotEmpty()) {
872
- - return data
873
- - }
874
- - delay(5)
875
- - }
876
- - return ByteArray(0)
877
- + val data = client.readStreamData(streamId) ?: return ByteArray(0)
878
- + return data
879
- }
880
-
881
- override suspend fun write(data: ByteArray) {
882
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicClientStub.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicClientStub.kt
883
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicClientStub.kt 2026-02-18 22:28:55
884
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicClientStub.kt 2026-02-19 10:19:11
885
- @@ -36,7 +36,7 @@
886
- private var buffer: MockStreamBuffer? = null
887
- private var streamId = 0L
888
-
889
- - override suspend fun connect(host: String, port: Int) {
890
- + override suspend fun connect(host: String, port: Int, connectAddress: String?) {
891
- buffer = MockStreamBuffer(initialReadData.toByteArray())
892
- streamId = 0L
893
- }
894
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicTypes.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicTypes.kt
895
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicTypes.kt 2026-02-18 22:28:55
896
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/quic/QuicTypes.kt 2026-02-19 10:16:31
897
- @@ -15,7 +15,7 @@
898
- * QUIC client: connect, TLS handshake, open one bidirectional stream.
899
- */
900
- interface QuicClient {
901
- - suspend fun connect(host: String, port: Int)
902
- + suspend fun connect(host: String, port: Int, connectAddress: String? = null)
903
- suspend fun openStream(): QuicStream
904
- suspend fun close()
905
- }
906
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/QUICStreamAdapter.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/QUICStreamAdapter.kt
907
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/QUICStreamAdapter.kt 2026-02-19 13:50:41
908
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/QUICStreamAdapter.kt 2026-02-19 12:21:15
909
- @@ -1,21 +1,96 @@
910
- package ai.annadata.mqttquic.transport
911
-
912
- +import android.util.Log
913
- +import ai.annadata.mqttquic.mqtt.MQTTProtocol
914
- import ai.annadata.mqttquic.quic.QuicStream
915
- +import kotlinx.coroutines.delay
916
-
917
- /**
918
- - * MQTTStreamReader over QUIC stream. Mirrors NGTCP2StreamReader.
919
- + * MQTTStreamReader over QUIC stream. Buffers excess bytes so readexactly(n)
920
- + * and read(maxBytes) get exactly the requested amount; native may return
921
- + * a full CONNACK (e.g. 18 bytes) in one read, so we must not lose the remainder.
922
- + *
923
- + * Efficient CONNACK/packet read: call [drain] to read until the stream has no more
924
- + * data, then [tryConsumeNextPacket] to take the first complete MQTT packet from
925
- + * the buffer. Repeat drain + tryConsumeNextPacket (with short delay) until you
926
- + * get a packet or timeout.
927
- */
928
- class QUICStreamReader(private val stream: QuicStream) : MQTTStreamReader {
929
-
930
- - override suspend fun read(maxBytes: Int): ByteArray = stream.read(maxBytes)
931
- + private val buffer = mutableListOf<Byte>()
932
-
933
- + override suspend fun available(): Int = buffer.size
934
- +
935
- + /** Read from stream until no more data is available (drained). Call before tryConsumeNextPacket. */
936
- + suspend fun drain() {
937
- + while (true) {
938
- + val chunk = stream.read(8192)
939
- + if (chunk.isEmpty()) break
940
- + Log.i("MQTTClient", "QUICStreamReader: drain got ${chunk.size} bytes bufferTotal=${buffer.size + chunk.size}")
941
- + buffer.addAll(chunk.toList())
942
- + }
943
- + }
944
- +
945
- + /** Consume the first n bytes from buffer and return them. Caller must ensure buffer.size >= n. */
946
- + fun consume(n: Int): ByteArray {
947
- + if (buffer.size < n) throw IllegalArgumentException("buffer has ${buffer.size} < $n")
948
- + val out = buffer.take(n).toByteArray()
949
- + repeat(n) { buffer.removeAt(0) }
950
- + return out
951
- + }
952
- +
953
- + /**
954
- + * If buffer contains at least one complete MQTT packet (fixed header + payload), consume and return it; else return null.
955
- + * Call after [drain]; if null, delay and drain again (or timeout).
956
- + */
957
- + fun tryConsumeNextPacket(): ByteArray? {
958
- + val buf = buffer.toByteArray()
959
- + val totalLen = MQTTProtocol.getNextPacketLength(buf)
960
- + if (totalLen == null) {
961
- + if (buf.isNotEmpty()) {
962
- + Log.w("MQTTClient", "QUICStreamReader: getNextPacketLength returned null bufferSize=${buf.size} firstByte=0x${Integer.toHexString(buf[0].toInt() and 0xFF)}")
963
- + }
964
- + return null
965
- + }
966
- + if (buffer.size < totalLen) {
967
- + Log.i("MQTTClient", "QUICStreamReader: buffer.size=${buffer.size} < totalLen=$totalLen waiting for more")
968
- + return null
969
- + }
970
- + val packet = consume(totalLen)
971
- + Log.i("MQTTClient", "QUICStreamReader: tryConsumeNextPacket consumed $totalLen bytes type=0x${Integer.toHexString(packet[0].toInt() and 0xFF)}")
972
- + return packet
973
- + }
974
- +
975
- + override suspend fun read(maxBytes: Int): ByteArray {
976
- + while (buffer.size < maxBytes) {
977
- + val chunk = stream.read(maxBytes - buffer.size)
978
- + if (chunk.isEmpty()) break
979
- + Log.i("MQTTClient", "QUICStreamReader: got chunk=${chunk.size} bufferSize=${buffer.size + chunk.size}")
980
- + buffer.addAll(chunk.toList())
981
- + }
982
- + val n = minOf(maxBytes, buffer.size)
983
- + if (n == 0) return ByteArray(0)
984
- + val result = buffer.subList(0, n).toByteArray()
985
- + repeat(n) { buffer.removeAt(0) }
986
- + Log.i("MQTTClient", "QUICStreamReader: returning $n bytes bufferRemain=${buffer.size}")
987
- + return result
988
- + }
989
- +
990
- override suspend fun readexactly(n: Int): ByteArray {
991
- + Log.i("MQTTClient", "QUICStreamReader: readexactly($n) bufferHas=${buffer.size}")
992
- val acc = mutableListOf<Byte>()
993
- while (acc.size < n) {
994
- - val chunk = stream.read(n - acc.size)
995
- - if (chunk.isEmpty()) throw IllegalArgumentException("readexactly")
996
- - acc.addAll(chunk.toList())
997
- + drain()
998
- + val fromBuffer = minOf(n - acc.size, buffer.size)
999
- + if (fromBuffer > 0) {
1000
- + acc.addAll(buffer.subList(0, fromBuffer).toList())
1001
- + repeat(fromBuffer) { buffer.removeAt(0) }
1002
- + } else {
1003
- + // No data yet (e.g. message loop waiting for SUBACK/PUBLISH). Wait and retry instead of throwing.
1004
- + delay(20L)
1005
- + }
1006
- }
1007
- + Log.i("MQTTClient", "QUICStreamReader: readexactly($n) done")
1008
- return acc.toByteArray()
1009
- }
1010
- }
1011
- diff -Naur capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/StreamTransport.kt annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/StreamTransport.kt
1012
- --- capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/StreamTransport.kt 2026-02-18 22:28:55
1013
- +++ annadata-app/node_modules/@annadata/capacitor-mqtt-quic/android/src/main/kotlin/ai/annadata/mqttquic/transport/StreamTransport.kt 2026-02-19 08:09:34
1014
- @@ -7,6 +7,8 @@
1015
- * Phase 2 implements over QUIC stream.
1016
- */
1017
- interface MQTTStreamReader {
1018
- + /** Number of bytes currently buffered (without reading from stream). Used to skip unwanted packets only when safe. */
1019
- + suspend fun available(): Int
1020
- suspend fun read(maxBytes: Int): ByteArray
1021
- suspend fun readexactly(n: Int): ByteArray
1022
- }
1023
- @@ -49,6 +51,8 @@
1024
- * Mock reader over MockStreamBuffer.
1025
- */
1026
- class MockStreamReader(private val buffer: MockStreamBuffer) : MQTTStreamReader {
1027
- +
1028
- + override suspend fun available(): Int = buffer.readBuffer.size
1029
-
1030
- override suspend fun read(maxBytes: Int): ByteArray {
1031
- if (buffer.isClosed && buffer.readBuffer.isEmpty()) return ByteArray(0)