couchbase 3.0.0.alpha.4 → 3.0.0.alpha.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (749) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/fetch-stats +19 -0
  4. data/bin/init-cluster +24 -24
  5. data/bin/jenkins/build-extension +35 -0
  6. data/bin/jenkins/install-dependencies +47 -0
  7. data/bin/jenkins/test-with-cbdyncluster +58 -0
  8. data/couchbase.gemspec +27 -1
  9. data/examples/subdocument.rb +2 -2
  10. data/ext/build_version.hxx.in +1 -1
  11. data/ext/couchbase/cluster.hxx +41 -40
  12. data/ext/couchbase/couchbase.cxx +174 -61
  13. data/ext/couchbase/io/dns_message.hxx +3 -6
  14. data/ext/couchbase/io/http_session.hxx +31 -26
  15. data/ext/couchbase/io/{session_manager.hxx → http_session_manager.hxx} +3 -3
  16. data/ext/couchbase/io/mcbp_message.hxx +19 -2
  17. data/ext/couchbase/io/mcbp_session.hxx +89 -47
  18. data/ext/couchbase/operations/command.hxx +18 -7
  19. data/ext/couchbase/operations/document_analytics.hxx +5 -6
  20. data/ext/couchbase/operations/document_decrement.hxx +2 -1
  21. data/ext/couchbase/operations/document_exists.hxx +2 -1
  22. data/ext/couchbase/operations/document_get.hxx +2 -1
  23. data/ext/couchbase/operations/document_get_and_lock.hxx +2 -1
  24. data/ext/couchbase/operations/document_get_and_touch.hxx +2 -1
  25. data/ext/couchbase/operations/document_get_projected.hxx +2 -1
  26. data/ext/couchbase/operations/document_increment.hxx +2 -1
  27. data/ext/couchbase/operations/document_insert.hxx +2 -1
  28. data/ext/couchbase/operations/document_lookup_in.hxx +21 -1
  29. data/ext/couchbase/operations/document_mutate_in.hxx +44 -2
  30. data/ext/couchbase/operations/document_query.hxx +6 -7
  31. data/ext/couchbase/operations/document_remove.hxx +2 -1
  32. data/ext/couchbase/operations/document_replace.hxx +2 -1
  33. data/ext/couchbase/operations/document_search.hxx +3 -2
  34. data/ext/couchbase/operations/document_touch.hxx +2 -1
  35. data/ext/couchbase/operations/document_unlock.hxx +2 -1
  36. data/ext/couchbase/operations/document_upsert.hxx +2 -1
  37. data/ext/couchbase/operations/document_view.hxx +2 -1
  38. data/ext/couchbase/operations/view_index_get_all.hxx +1 -1
  39. data/ext/couchbase/protocol/client_opcode.hxx +7 -3
  40. data/ext/couchbase/protocol/client_response.hxx +1 -1
  41. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  42. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  43. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  44. data/ext/couchbase/version.hxx +1 -1
  45. data/ext/extconf.rb +1 -1
  46. data/lib/couchbase/bucket.rb +3 -0
  47. data/lib/couchbase/cluster.rb +5 -0
  48. data/lib/couchbase/collection.rb +18 -6
  49. data/lib/couchbase/collection_options.rb +50 -7
  50. data/lib/couchbase/errors.rb +2 -2
  51. data/lib/couchbase/subdoc.rb +80 -19
  52. data/lib/couchbase/version.rb +1 -1
  53. metadata +7 -705
  54. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  55. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  56. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  57. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  58. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  59. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  60. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  61. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  62. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  63. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  64. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  65. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  66. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  67. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  68. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  69. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  70. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  71. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  72. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  73. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  74. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  75. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  76. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  77. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  78. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  79. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  80. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  81. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  82. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  83. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  84. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  85. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  86. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  87. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  88. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  89. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  90. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  91. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  92. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  93. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  94. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  95. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  96. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  97. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  98. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  99. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  100. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  101. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  102. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  103. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  104. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  105. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  106. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  107. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  108. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  109. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  110. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  111. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  112. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  113. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  114. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  115. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  116. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  117. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  118. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  119. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  120. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  121. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  122. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  123. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  124. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  125. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  126. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  127. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  128. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  129. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  130. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  131. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  132. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  133. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  134. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  135. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  136. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  137. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  138. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  139. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  140. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  141. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  142. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  143. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  144. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  145. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  146. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  147. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  148. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  149. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  150. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  151. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  152. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  153. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  154. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  155. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  156. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  157. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  158. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  159. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  160. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  161. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  162. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  163. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  164. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  165. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  166. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  167. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  168. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  169. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  170. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  171. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  172. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  173. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  174. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  175. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  176. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  177. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  178. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  179. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  180. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  181. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  182. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  183. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  184. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  185. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  186. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  187. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  188. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  189. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  190. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  191. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  192. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  193. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  194. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  195. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  196. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  197. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  198. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  199. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  200. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  201. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  202. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  203. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  204. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  205. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  206. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  207. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  208. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  209. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  210. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  211. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  212. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  213. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  214. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  215. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  216. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  217. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  218. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  219. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  220. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  221. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  222. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  223. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  224. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  225. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  226. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  227. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  228. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  229. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  230. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  231. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  232. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  233. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  234. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  235. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  236. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  237. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  238. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  239. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  240. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  241. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  242. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  243. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  244. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  245. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  246. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  247. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  248. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  249. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  250. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  251. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  252. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  253. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  254. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  255. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  256. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  257. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  258. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  259. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  260. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  261. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  262. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  263. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  264. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  265. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  266. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  267. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  268. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  269. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  270. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  271. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  272. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  273. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  274. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  275. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  276. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  277. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  278. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  279. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  280. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  281. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  282. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  283. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  284. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  285. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  286. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  287. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  288. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  289. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  290. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  291. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  292. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  293. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  294. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  295. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  296. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  297. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  298. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  299. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  300. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  301. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  302. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  303. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  304. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  305. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  306. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  307. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  308. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  309. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  310. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  311. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  312. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  313. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  314. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  315. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  316. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  317. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  318. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  319. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  320. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  321. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  322. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  323. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  324. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  325. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  326. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  327. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  328. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  329. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  330. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  331. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  332. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  333. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  334. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  335. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  336. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  337. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  338. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  339. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  340. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  341. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  342. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  343. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  344. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  345. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  346. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  347. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  348. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  349. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  350. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  351. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  352. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  353. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  354. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  355. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  356. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  357. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  358. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  359. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  360. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  361. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  362. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  363. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  364. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  365. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  366. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  367. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  368. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  369. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  370. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  371. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  372. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  373. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  374. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  375. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  376. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  377. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  378. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  379. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  380. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  381. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  382. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  383. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  384. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  385. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  386. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  387. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  388. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  389. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  390. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  391. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  392. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  393. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  394. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  395. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  396. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  397. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  398. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  399. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  400. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  401. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  402. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  403. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  404. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  405. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  406. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  407. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  408. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  409. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  410. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  411. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  412. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  413. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  414. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  415. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  416. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  417. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  418. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  419. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  420. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  421. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  422. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  423. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  424. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  425. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  426. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  427. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  428. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  429. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  430. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  431. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  432. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  433. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  434. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  435. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  436. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  437. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  438. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  439. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  440. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  441. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  442. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  443. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  444. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  445. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  446. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  447. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  448. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  449. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  450. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  451. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  452. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  453. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  454. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  455. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  456. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  457. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  458. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  459. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  460. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  461. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  462. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  463. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  464. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  465. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  466. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  467. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  468. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  469. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  470. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  471. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  472. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  473. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  474. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  475. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  476. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  477. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  478. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  479. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  480. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  481. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  482. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  483. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  484. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  485. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  486. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  487. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  488. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  489. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  490. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  491. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  492. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  493. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  494. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  495. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  496. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  497. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  498. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  499. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  500. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  501. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  502. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  503. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  504. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  505. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  506. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  507. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  508. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  509. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  510. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  511. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  512. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  513. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  514. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  515. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  516. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  517. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  518. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  519. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  520. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  521. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  522. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  523. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  524. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  525. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  526. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  527. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  528. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  529. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  530. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  531. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  532. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  533. data/ext/third_party/json/doc/Changelog.md +0 -31
  534. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  535. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  536. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  537. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  538. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  539. data/ext/third_party/json/doc/Interoperability.md +0 -75
  540. data/ext/third_party/json/doc/Overview.md +0 -24
  541. data/ext/third_party/json/doc/Overview.png +0 -0
  542. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  543. data/ext/third_party/json/doc/README.md +0 -78
  544. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  545. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  546. data/ext/third_party/json/doc/Types.png +0 -0
  547. data/ext/third_party/json/doc/Value-Class.md +0 -525
  548. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  549. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  550. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  551. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  552. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  553. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  554. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  555. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  556. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  557. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  558. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  559. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  560. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  561. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  562. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  563. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  564. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  565. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  566. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  567. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  568. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  569. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  570. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  571. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  572. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  573. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  574. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  575. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  576. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  577. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  578. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  579. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  580. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  581. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  582. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  583. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  584. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  585. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  586. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  587. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  588. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  589. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  590. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  591. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  592. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  593. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  594. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  595. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  596. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  597. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  598. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  599. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  600. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  601. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  602. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  603. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  604. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  605. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  606. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  607. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  608. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  609. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  610. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  611. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  612. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  613. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  614. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  615. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  616. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  617. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  618. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  619. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  620. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  621. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  622. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  623. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  624. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  625. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  626. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  627. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  628. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  629. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  630. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  631. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  632. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  633. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  634. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  635. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  636. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  637. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  638. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  639. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  640. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  641. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  642. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  643. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  644. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  645. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  646. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  647. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  648. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  649. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  650. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  651. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  652. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  653. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  654. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  655. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  656. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  657. data/ext/third_party/json/tests/blns.json +0 -496
  658. data/ext/third_party/json/tests/canada.json +0 -9
  659. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  660. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  661. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  662. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  663. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  664. data/ext/third_party/json/tests/draft4/default.json +0 -49
  665. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  666. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  667. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  668. data/ext/third_party/json/tests/draft4/items.json +0 -46
  669. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  670. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  671. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  672. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  673. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  674. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  675. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  676. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  677. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  678. data/ext/third_party/json/tests/draft4/not.json +0 -96
  679. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  680. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  681. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  682. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  683. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  684. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  685. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  686. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  687. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  688. data/ext/third_party/json/tests/draft4/required.json +0 -44
  689. data/ext/third_party/json/tests/draft4/type.json +0 -345
  690. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  691. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  692. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  693. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  694. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  695. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  696. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  697. data/ext/third_party/json/tests/twitter.json +0 -15482
  698. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  699. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  700. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  701. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  702. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  703. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  704. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  705. data/ext/third_party/snappy/testdata/html +0 -1
  706. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  707. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  708. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  709. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  710. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  711. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  712. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  713. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  714. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  715. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  716. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  717. data/ext/third_party/spdlog/bench/utils.h +0 -34
  718. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  719. data/ext/third_party/spdlog/example/example.cpp +0 -282
  720. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  721. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  722. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  723. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  724. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  725. data/ext/third_party/spdlog/tests/catch.license +0 -23
  726. data/ext/third_party/spdlog/tests/includes.h +0 -26
  727. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  728. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  729. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  730. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  731. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  732. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  733. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  734. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  735. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  736. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  737. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  738. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  739. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  740. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  741. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  742. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  743. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  744. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  745. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  746. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  747. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  748. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  749. data/ext/third_party/spdlog/tests/utils.h +0 -18
@@ -1,363 +0,0 @@
1
- //
2
- // multicast.cpp
3
- // ~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
- //
7
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
- //
10
-
11
- // Disable autolinking for unit tests.
12
- #if !defined(BOOST_ALL_NO_LIB)
13
- #define BOOST_ALL_NO_LIB 1
14
- #endif // !defined(BOOST_ALL_NO_LIB)
15
-
16
- // Test that header file is self-contained.
17
- #include "asio/ip/multicast.hpp"
18
-
19
- #include "asio/io_context.hpp"
20
- #include "asio/ip/udp.hpp"
21
- #include "../unit_test.hpp"
22
-
23
- //------------------------------------------------------------------------------
24
-
25
- // ip_multicast_compile test
26
- // ~~~~~~~~~~~~~~~~~~~~~~~~~
27
- // The following test checks that all nested classes, enums and constants in
28
- // ip::multicast compile and link correctly. Runtime failures are ignored.
29
-
30
- namespace ip_multicast_compile {
31
-
32
- void test()
33
- {
34
- using namespace asio;
35
- namespace ip = asio::ip;
36
-
37
- try
38
- {
39
- io_context ioc;
40
- ip::udp::socket sock(ioc);
41
- const ip::address address;
42
- const ip::address_v4 address_v4;
43
- const ip::address_v6 address_v6;
44
-
45
- // join_group class.
46
-
47
- ip::multicast::join_group join_group1;
48
- ip::multicast::join_group join_group2(address);
49
- ip::multicast::join_group join_group3(address_v4);
50
- ip::multicast::join_group join_group4(address_v4, address_v4);
51
- ip::multicast::join_group join_group5(address_v6);
52
- ip::multicast::join_group join_group6(address_v6, 1);
53
- sock.set_option(join_group6);
54
-
55
- // leave_group class.
56
-
57
- ip::multicast::leave_group leave_group1;
58
- ip::multicast::leave_group leave_group2(address);
59
- ip::multicast::leave_group leave_group3(address_v4);
60
- ip::multicast::leave_group leave_group4(address_v4, address_v4);
61
- ip::multicast::leave_group leave_group5(address_v6);
62
- ip::multicast::leave_group leave_group6(address_v6, 1);
63
- sock.set_option(leave_group6);
64
-
65
- // outbound_interface class.
66
-
67
- ip::multicast::outbound_interface outbound_interface1;
68
- ip::multicast::outbound_interface outbound_interface2(address_v4);
69
- ip::multicast::outbound_interface outbound_interface3(1);
70
- sock.set_option(outbound_interface3);
71
-
72
- // hops class.
73
-
74
- ip::multicast::hops hops1(1024);
75
- sock.set_option(hops1);
76
- ip::multicast::hops hops2;
77
- sock.get_option(hops2);
78
- hops1 = 1;
79
- (void)static_cast<int>(hops1.value());
80
-
81
- // enable_loopback class.
82
-
83
- ip::multicast::enable_loopback enable_loopback1(true);
84
- sock.set_option(enable_loopback1);
85
- ip::multicast::enable_loopback enable_loopback2;
86
- sock.get_option(enable_loopback2);
87
- enable_loopback1 = true;
88
- (void)static_cast<bool>(enable_loopback1);
89
- (void)static_cast<bool>(!enable_loopback1);
90
- (void)static_cast<bool>(enable_loopback1.value());
91
- }
92
- catch (std::exception&)
93
- {
94
- }
95
- }
96
-
97
- } // namespace ip_multicast_compile
98
-
99
- //------------------------------------------------------------------------------
100
-
101
- // ip_multicast_runtime test
102
- // ~~~~~~~~~~~~~~~~~~~~~~~~~
103
- // The following test checks the runtime operation of the socket options defined
104
- // in the ip::multicast namespace.
105
-
106
- namespace ip_multicast_runtime {
107
-
108
- #if defined(__hpux)
109
- // HP-UX doesn't declare this function extern "C", so it is declared again here
110
- // to avoid a linker error about an undefined symbol.
111
- extern "C" unsigned int if_nametoindex(const char*);
112
- #endif // defined(__hpux)
113
-
114
- void test()
115
- {
116
- using namespace asio;
117
- namespace ip = asio::ip;
118
-
119
- io_context ioc;
120
- asio::error_code ec;
121
-
122
- ip::udp::endpoint ep_v4(ip::address_v4::loopback(), 0);
123
- ip::udp::socket sock_v4(ioc);
124
- sock_v4.open(ep_v4.protocol(), ec);
125
- sock_v4.bind(ep_v4, ec);
126
- bool have_v4 = !ec;
127
-
128
- ip::udp::endpoint ep_v6(ip::address_v6::loopback(), 0);
129
- ip::udp::socket sock_v6(ioc);
130
- sock_v6.open(ep_v6.protocol(), ec);
131
- sock_v6.bind(ep_v6, ec);
132
- bool have_v6 = !ec;
133
-
134
- ASIO_CHECK(have_v4 || have_v6);
135
-
136
- #if defined(ASIO_WINDOWS) && defined(UNDER_CE)
137
- // Windows CE seems to have problems with some multicast group addresses.
138
- // The following address works on CE, but as it is not a private multicast
139
- // address it will not be used on other platforms.
140
- const ip::address multicast_address_v4 = ip::make_address("239.0.0.4", ec);
141
- #else // defined(ASIO_WINDOWS) && defined(UNDER_CE)
142
- const ip::address multicast_address_v4 = ip::make_address("239.255.0.1", ec);
143
- #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
144
- ASIO_CHECK(!have_v4 || !ec);
145
-
146
- #if (defined(__MACH__) && defined(__APPLE__)) \
147
- || defined(__FreeBSD__) \
148
- || defined(__NetBSD__) \
149
- || defined(__OpenBSD__)
150
- const ip::address multicast_address_v6 = ip::make_address("ff02::1%lo0", ec);
151
- #else // (defined(__MACH__) && defined(__APPLE__))
152
- // || defined(__FreeBSD__)
153
- // || defined(__NetBSD__)
154
- // || defined(__OpenBSD__)
155
- const ip::address multicast_address_v6 = ip::make_address("ff01::1", ec);
156
- #endif // (defined(__MACH__) && defined(__APPLE__))
157
- // || defined(__FreeBSD__)
158
- // || defined(__NetBSD__)
159
- // || defined(__OpenBSD__)
160
- ASIO_CHECK(!have_v6 || !ec);
161
-
162
- // join_group class.
163
-
164
- if (have_v4)
165
- {
166
- ip::multicast::join_group join_group(multicast_address_v4);
167
- sock_v4.set_option(join_group, ec);
168
- ASIO_CHECK_MESSAGE(!ec || ec == error::no_such_device,
169
- ec.value() << ", " << ec.message());
170
-
171
- if (!ec)
172
- {
173
- // leave_group class.
174
-
175
- ip::multicast::leave_group leave_group(multicast_address_v4);
176
- sock_v4.set_option(leave_group, ec);
177
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
178
- }
179
- }
180
-
181
- if (have_v6)
182
- {
183
- ip::multicast::join_group join_group(multicast_address_v6);
184
- sock_v6.set_option(join_group, ec);
185
- ASIO_CHECK_MESSAGE(!ec || ec == error::no_such_device,
186
- ec.value() << ", " << ec.message());
187
-
188
- if (!ec)
189
- {
190
- // leave_group class.
191
-
192
- ip::multicast::leave_group leave_group(multicast_address_v6);
193
- sock_v6.set_option(leave_group, ec);
194
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
195
- }
196
- }
197
-
198
- // outbound_interface class.
199
-
200
- if (have_v4)
201
- {
202
- ip::multicast::outbound_interface outbound_interface(
203
- ip::address_v4::loopback());
204
- sock_v4.set_option(outbound_interface, ec);
205
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
206
- }
207
-
208
- if (have_v6)
209
- {
210
- #if defined(__hpux)
211
- ip::multicast::outbound_interface outbound_interface(if_nametoindex("lo0"));
212
- #else
213
- ip::multicast::outbound_interface outbound_interface(1);
214
- #endif
215
- sock_v6.set_option(outbound_interface, ec);
216
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
217
- }
218
-
219
- // hops class.
220
-
221
- if (have_v4)
222
- {
223
- ip::multicast::hops hops1(1);
224
- ASIO_CHECK(hops1.value() == 1);
225
- sock_v4.set_option(hops1, ec);
226
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
227
-
228
- ip::multicast::hops hops2;
229
- sock_v4.get_option(hops2, ec);
230
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
231
- ASIO_CHECK(hops2.value() == 1);
232
-
233
- ip::multicast::hops hops3(0);
234
- ASIO_CHECK(hops3.value() == 0);
235
- sock_v4.set_option(hops3, ec);
236
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
237
-
238
- ip::multicast::hops hops4;
239
- sock_v4.get_option(hops4, ec);
240
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
241
- ASIO_CHECK(hops4.value() == 0);
242
- }
243
-
244
- if (have_v6)
245
- {
246
- ip::multicast::hops hops1(1);
247
- ASIO_CHECK(hops1.value() == 1);
248
- sock_v6.set_option(hops1, ec);
249
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
250
-
251
- ip::multicast::hops hops2;
252
- sock_v6.get_option(hops2, ec);
253
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
254
- ASIO_CHECK(hops2.value() == 1);
255
-
256
- ip::multicast::hops hops3(0);
257
- ASIO_CHECK(hops3.value() == 0);
258
- sock_v6.set_option(hops3, ec);
259
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
260
-
261
- ip::multicast::hops hops4;
262
- sock_v6.get_option(hops4, ec);
263
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
264
- ASIO_CHECK(hops4.value() == 0);
265
- }
266
-
267
- // enable_loopback class.
268
-
269
- if (have_v4)
270
- {
271
- ip::multicast::enable_loopback enable_loopback1(true);
272
- ASIO_CHECK(enable_loopback1.value());
273
- ASIO_CHECK(static_cast<bool>(enable_loopback1));
274
- ASIO_CHECK(!!enable_loopback1);
275
- sock_v4.set_option(enable_loopback1, ec);
276
- #if defined(ASIO_WINDOWS) && defined(UNDER_CE)
277
- // Option is not supported under Windows CE.
278
- ASIO_CHECK_MESSAGE(ec == asio::error::no_protocol_option,
279
- ec.value() << ", " << ec.message());
280
- #else // defined(ASIO_WINDOWS) && defined(UNDER_CE)
281
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
282
- #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
283
-
284
- ip::multicast::enable_loopback enable_loopback2;
285
- sock_v4.get_option(enable_loopback2, ec);
286
- #if defined(ASIO_WINDOWS) && defined(UNDER_CE)
287
- // Not supported under Windows CE but can get value.
288
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
289
- #else // defined(ASIO_WINDOWS) && defined(UNDER_CE)
290
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
291
- ASIO_CHECK(enable_loopback2.value());
292
- ASIO_CHECK(static_cast<bool>(enable_loopback2));
293
- ASIO_CHECK(!!enable_loopback2);
294
- #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
295
-
296
- ip::multicast::enable_loopback enable_loopback3(false);
297
- ASIO_CHECK(!enable_loopback3.value());
298
- ASIO_CHECK(!static_cast<bool>(enable_loopback3));
299
- ASIO_CHECK(!enable_loopback3);
300
- sock_v4.set_option(enable_loopback3, ec);
301
- #if defined(ASIO_WINDOWS) && defined(UNDER_CE)
302
- // Option is not supported under Windows CE.
303
- ASIO_CHECK_MESSAGE(ec == asio::error::no_protocol_option,
304
- ec.value() << ", " << ec.message());
305
- #else // defined(ASIO_WINDOWS) && defined(UNDER_CE)
306
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
307
- #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
308
-
309
- ip::multicast::enable_loopback enable_loopback4;
310
- sock_v4.get_option(enable_loopback4, ec);
311
- #if defined(ASIO_WINDOWS) && defined(UNDER_CE)
312
- // Not supported under Windows CE but can get value.
313
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
314
- #else // defined(ASIO_WINDOWS) && defined(UNDER_CE)
315
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
316
- ASIO_CHECK(!enable_loopback4.value());
317
- ASIO_CHECK(!static_cast<bool>(enable_loopback4));
318
- ASIO_CHECK(!enable_loopback4);
319
- #endif // defined(ASIO_WINDOWS) && defined(UNDER_CE)
320
- }
321
-
322
- if (have_v6)
323
- {
324
- ip::multicast::enable_loopback enable_loopback1(true);
325
- ASIO_CHECK(enable_loopback1.value());
326
- ASIO_CHECK(static_cast<bool>(enable_loopback1));
327
- ASIO_CHECK(!!enable_loopback1);
328
- sock_v6.set_option(enable_loopback1, ec);
329
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
330
-
331
- ip::multicast::enable_loopback enable_loopback2;
332
- sock_v6.get_option(enable_loopback2, ec);
333
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
334
- ASIO_CHECK(enable_loopback2.value());
335
- ASIO_CHECK(static_cast<bool>(enable_loopback2));
336
- ASIO_CHECK(!!enable_loopback2);
337
-
338
- ip::multicast::enable_loopback enable_loopback3(false);
339
- ASIO_CHECK(!enable_loopback3.value());
340
- ASIO_CHECK(!static_cast<bool>(enable_loopback3));
341
- ASIO_CHECK(!enable_loopback3);
342
- sock_v6.set_option(enable_loopback3, ec);
343
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
344
-
345
- ip::multicast::enable_loopback enable_loopback4;
346
- sock_v6.get_option(enable_loopback4, ec);
347
- ASIO_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
348
- ASIO_CHECK(!enable_loopback4.value());
349
- ASIO_CHECK(!static_cast<bool>(enable_loopback4));
350
- ASIO_CHECK(!enable_loopback4);
351
- }
352
- }
353
-
354
- } // namespace ip_multicast_runtime
355
-
356
- //------------------------------------------------------------------------------
357
-
358
- ASIO_TEST_SUITE
359
- (
360
- "ip/multicast",
361
- ASIO_TEST_CASE(ip_multicast_compile::test)
362
- ASIO_TEST_CASE(ip_multicast_runtime::test)
363
- )
@@ -1,314 +0,0 @@
1
- //
2
- // network_v4.cpp
3
- // ~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
- // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
7
- //
8
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
9
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
- //
11
-
12
- // Disable autolinking for unit tests.
13
- #if !defined(BOOST_ALL_NO_LIB)
14
- #define BOOST_ALL_NO_LIB 1
15
- #endif // !defined(BOOST_ALL_NO_LIB)
16
-
17
- // Test that header file is self-contained.
18
- #include "asio/ip/network_v4.hpp"
19
-
20
- #include "../unit_test.hpp"
21
- #include <sstream>
22
-
23
- //------------------------------------------------------------------------------
24
-
25
- // ip_network_v4_compile test
26
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~
27
- // The following test checks that all public member functions on the class
28
- // ip::network_v4 compile and link correctly. Runtime failures are ignored.
29
-
30
- namespace ip_network_v4_compile {
31
-
32
- void test()
33
- {
34
- using namespace asio;
35
- namespace ip = asio::ip;
36
-
37
- try
38
- {
39
- asio::error_code ec;
40
-
41
- // network_v4 constructors.
42
-
43
- ip::network_v4 net1(ip::make_address_v4("192.168.1.0"), 32);
44
- ip::network_v4 net2(ip::make_address_v4("192.168.1.0"),
45
- ip::make_address_v4("255.255.255.0"));
46
-
47
- // network_v4 functions.
48
-
49
- ip::address_v4 addr1 = net1.address();
50
- (void)addr1;
51
-
52
- unsigned short prefix_len = net1.prefix_length();
53
- (void)prefix_len;
54
-
55
- ip::address_v4 addr2 = net1.netmask();
56
- (void)addr2;
57
-
58
- ip::address_v4 addr3 = net1.network();
59
- (void)addr3;
60
-
61
- ip::address_v4 addr4 = net1.broadcast();
62
- (void)addr4;
63
-
64
- ip::address_v4_range hosts = net1.hosts();
65
- (void)hosts;
66
-
67
- ip::network_v4 net3 = net1.canonical();
68
- (void)net3;
69
-
70
- bool b1 = net1.is_host();
71
- (void)b1;
72
-
73
- bool b2 = net1.is_subnet_of(net2);
74
- (void)b2;
75
-
76
- std::string s1 = net1.to_string();
77
- (void)s1;
78
-
79
- std::string s2 = net1.to_string(ec);
80
- (void)s2;
81
-
82
- // network_v4 comparisons.
83
-
84
- bool b3 = (net1 == net2);
85
- (void)b3;
86
-
87
- bool b4 = (net1 != net2);
88
- (void)b4;
89
-
90
- // network_v4 creation functions.
91
-
92
- net1 = ip::make_network_v4(ip::address_v4(), 24);
93
- net1 = ip::make_network_v4(ip::address_v4(), ip::address_v4());
94
- net1 = ip::make_network_v4("10.0.0.0/8");
95
- net1 = ip::make_network_v4("10.0.0.0/8", ec);
96
- net1 = ip::make_network_v4(s1);
97
- net1 = ip::make_network_v4(s1, ec);
98
- #if defined(ASIO_HAS_STRING_VIEW)
99
- # if defined(ASIO_HAS_STD_STRING_VIEW)
100
- std::string_view string_view_value("10.0.0.0/8");
101
- # elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
102
- std::experimental::string_view string_view_value("10.0.0.0/8");
103
- # endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
104
- net1 = ip::make_network_v4(string_view_value);
105
- net1 = ip::make_network_v4(string_view_value, ec);
106
- #endif // defined(ASIO_HAS_STRING_VIEW)
107
-
108
- // network_v4 I/O.
109
-
110
- std::ostringstream os;
111
- os << net1;
112
-
113
- #if !defined(BOOST_NO_STD_WSTREAMBUF)
114
- std::wostringstream wos;
115
- wos << net1;
116
- #endif // !defined(BOOST_NO_STD_WSTREAMBUF)
117
- }
118
- catch (std::exception&)
119
- {
120
- }
121
- }
122
-
123
- } // namespace ip_network_v4_compile
124
-
125
- //------------------------------------------------------------------------------
126
-
127
- // ip_network_v4_runtime test
128
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~
129
- // The following test checks that the various public member functions meet the
130
- // necessary postconditions.
131
-
132
- namespace ip_network_v4_runtime {
133
-
134
- void test()
135
- {
136
- using asio::ip::address_v4;
137
- using asio::ip::make_address_v4;
138
- using asio::ip::network_v4;
139
- using asio::ip::make_network_v4;
140
-
141
- address_v4 addr = make_address_v4("1.2.3.4");
142
-
143
- // calculate prefix length
144
-
145
- network_v4 net1(addr, make_address_v4("255.255.255.0"));
146
- ASIO_CHECK(net1.prefix_length() == 24);
147
-
148
- network_v4 net2(addr, make_address_v4("255.255.255.192"));
149
- ASIO_CHECK(net2.prefix_length() == 26);
150
-
151
- network_v4 net3(addr, make_address_v4("128.0.0.0"));
152
- ASIO_CHECK(net3.prefix_length() == 1);
153
-
154
- std::string msg;
155
- try
156
- {
157
- make_network_v4(addr, make_address_v4("255.255.255.1"));
158
- }
159
- catch(std::exception& ex)
160
- {
161
- msg = ex.what();
162
- }
163
- ASIO_CHECK(msg == std::string("non-contiguous netmask"));
164
-
165
- msg.clear();
166
- try
167
- {
168
- make_network_v4(addr, make_address_v4("0.255.255.0"));
169
- }
170
- catch(std::exception& ex)
171
- {
172
- msg = ex.what();
173
- }
174
- ASIO_CHECK(msg == std::string("non-contiguous netmask"));
175
-
176
- // calculate netmask
177
-
178
- network_v4 net4(addr, 23);
179
- ASIO_CHECK(net4.netmask() == make_address_v4("255.255.254.0"));
180
-
181
- network_v4 net5(addr, 12);
182
- ASIO_CHECK(net5.netmask() == make_address_v4("255.240.0.0"));
183
-
184
- network_v4 net6(addr, 24);
185
- ASIO_CHECK(net6.netmask() == make_address_v4("255.255.255.0"));
186
-
187
- network_v4 net7(addr, 16);
188
- ASIO_CHECK(net7.netmask() == make_address_v4("255.255.0.0"));
189
-
190
- network_v4 net8(addr, 8);
191
- ASIO_CHECK(net8.netmask() == make_address_v4("255.0.0.0"));
192
-
193
- network_v4 net9(addr, 32);
194
- ASIO_CHECK(net9.netmask() == make_address_v4("255.255.255.255"));
195
-
196
- network_v4 net10(addr, 1);
197
- ASIO_CHECK(net10.netmask() == make_address_v4("128.0.0.0"));
198
-
199
- network_v4 net11(addr, 0);
200
- ASIO_CHECK(net11.netmask() == make_address_v4("0.0.0.0"));
201
-
202
- msg.clear();
203
- try
204
- {
205
- make_network_v4(addr, 33);
206
- }
207
- catch(std::out_of_range& ex)
208
- {
209
- msg = ex.what();
210
- }
211
- ASIO_CHECK(msg == std::string("prefix length too large"));
212
-
213
- // construct address range from address and prefix length
214
- ASIO_CHECK(network_v4(make_address_v4("192.168.77.100"), 32).network() == make_address_v4("192.168.77.100"));
215
- ASIO_CHECK(network_v4(make_address_v4("192.168.77.100"), 24).network() == make_address_v4("192.168.77.0"));
216
- ASIO_CHECK(network_v4(make_address_v4("192.168.77.128"), 25).network() == make_address_v4("192.168.77.128"));
217
-
218
- // construct address range from string in CIDR notation
219
- ASIO_CHECK(make_network_v4("192.168.77.100/32").network() == make_address_v4("192.168.77.100"));
220
- ASIO_CHECK(make_network_v4("192.168.77.100/24").network() == make_address_v4("192.168.77.0"));
221
- ASIO_CHECK(make_network_v4("192.168.77.128/25").network() == make_address_v4("192.168.77.128"));
222
-
223
- // construct network from invalid string
224
- asio::error_code ec;
225
- make_network_v4("10.0.0.256/24", ec);
226
- ASIO_CHECK(!!ec);
227
- make_network_v4("10.0.0.0/33", ec);
228
- ASIO_CHECK(!!ec);
229
- make_network_v4("10.0.0.0/-1", ec);
230
- ASIO_CHECK(!!ec);
231
- make_network_v4("10.0.0.0/", ec);
232
- ASIO_CHECK(!!ec);
233
- make_network_v4("10.0.0.0", ec);
234
- ASIO_CHECK(!!ec);
235
-
236
- // prefix length
237
- ASIO_CHECK(make_network_v4("193.99.144.80/24").prefix_length() == 24);
238
- ASIO_CHECK(network_v4(make_address_v4("193.99.144.80"), 24).prefix_length() == 24);
239
- ASIO_CHECK(network_v4(make_address_v4("192.168.77.0"), make_address_v4("255.255.255.0")).prefix_length() == 24);
240
-
241
- // to string
242
- std::string a("192.168.77.0/32");
243
- ASIO_CHECK(make_network_v4(a.c_str()).to_string() == a);
244
- ASIO_CHECK(network_v4(make_address_v4("192.168.77.10"), 24).to_string() == std::string("192.168.77.10/24"));
245
-
246
- // return host part
247
- ASIO_CHECK(make_network_v4("192.168.77.11/24").address() == make_address_v4("192.168.77.11"));
248
-
249
- // return host in CIDR notation
250
- ASIO_CHECK(make_network_v4("192.168.78.30/20").address().to_string() == "192.168.78.30");
251
-
252
- // return network in CIDR notation
253
- ASIO_CHECK(make_network_v4("192.168.78.30/20").canonical().to_string() == "192.168.64.0/20");
254
-
255
- // is host
256
- ASIO_CHECK(make_network_v4("192.168.77.0/32").is_host());
257
- ASIO_CHECK(!make_network_v4("192.168.77.0/31").is_host());
258
-
259
- // is real subnet of
260
- ASIO_CHECK(make_network_v4("192.168.0.192/24").is_subnet_of(make_network_v4("192.168.0.0/16")));
261
- ASIO_CHECK(make_network_v4("192.168.0.0/24").is_subnet_of(make_network_v4("192.168.192.168/16")));
262
- ASIO_CHECK(make_network_v4("192.168.0.192/24").is_subnet_of(make_network_v4("192.168.192.168/16")));
263
- ASIO_CHECK(make_network_v4("192.168.0.0/24").is_subnet_of(make_network_v4("192.168.0.0/16")));
264
- ASIO_CHECK(make_network_v4("192.168.0.0/24").is_subnet_of(make_network_v4("192.168.0.0/23")));
265
- ASIO_CHECK(make_network_v4("192.168.0.0/24").is_subnet_of(make_network_v4("192.168.0.0/0")));
266
- ASIO_CHECK(make_network_v4("192.168.0.0/32").is_subnet_of(make_network_v4("192.168.0.0/24")));
267
-
268
- ASIO_CHECK(!make_network_v4("192.168.0.0/32").is_subnet_of(make_network_v4("192.168.0.0/32")));
269
- ASIO_CHECK(!make_network_v4("192.168.0.0/24").is_subnet_of(make_network_v4("192.168.1.0/24")));
270
- ASIO_CHECK(!make_network_v4("192.168.0.0/16").is_subnet_of(make_network_v4("192.168.1.0/24")));
271
-
272
- network_v4 r(make_network_v4("192.168.0.0/24"));
273
- ASIO_CHECK(!r.is_subnet_of(r));
274
-
275
- network_v4 net12(make_network_v4("192.168.0.2/24"));
276
- network_v4 net13(make_network_v4("192.168.1.1/28"));
277
- network_v4 net14(make_network_v4("192.168.1.21/28"));
278
- // network
279
- ASIO_CHECK(net12.network() == make_address_v4("192.168.0.0"));
280
- ASIO_CHECK(net13.network() == make_address_v4("192.168.1.0"));
281
- ASIO_CHECK(net14.network() == make_address_v4("192.168.1.16"));
282
- // netmask
283
- ASIO_CHECK(net12.netmask() == make_address_v4("255.255.255.0"));
284
- ASIO_CHECK(net13.netmask() == make_address_v4("255.255.255.240"));
285
- ASIO_CHECK(net14.netmask() == make_address_v4("255.255.255.240"));
286
- // broadcast
287
- ASIO_CHECK(net12.broadcast() == make_address_v4("192.168.0.255"));
288
- ASIO_CHECK(net13.broadcast() == make_address_v4("192.168.1.15"));
289
- ASIO_CHECK(net14.broadcast() == make_address_v4("192.168.1.31"));
290
- // iterator
291
- ASIO_CHECK(std::distance(net12.hosts().begin(),net12.hosts().end()) == 254);
292
- ASIO_CHECK(*net12.hosts().begin() == make_address_v4("192.168.0.1"));
293
- ASIO_CHECK(net12.hosts().end() != net12.hosts().find(make_address_v4("192.168.0.10")));
294
- ASIO_CHECK(net12.hosts().end() == net12.hosts().find(make_address_v4("192.168.1.10")));
295
- ASIO_CHECK(std::distance(net13.hosts().begin(),net13.hosts().end()) == 14);
296
- ASIO_CHECK(*net13.hosts().begin() == make_address_v4("192.168.1.1"));
297
- ASIO_CHECK(net13.hosts().end() != net13.hosts().find(make_address_v4("192.168.1.14")));
298
- ASIO_CHECK(net13.hosts().end() == net13.hosts().find(make_address_v4("192.168.1.15")));
299
- ASIO_CHECK(std::distance(net14.hosts().begin(),net14.hosts().end()) == 14);
300
- ASIO_CHECK(*net14.hosts().begin() == make_address_v4("192.168.1.17"));
301
- ASIO_CHECK(net14.hosts().end() != net14.hosts().find(make_address_v4("192.168.1.30")));
302
- ASIO_CHECK(net14.hosts().end() == net14.hosts().find(make_address_v4("192.168.1.31")));
303
- }
304
-
305
- } // namespace ip_network_v4_runtime
306
-
307
- //------------------------------------------------------------------------------
308
-
309
- ASIO_TEST_SUITE
310
- (
311
- "ip/network_v4",
312
- ASIO_TEST_CASE(ip_network_v4_compile::test)
313
- ASIO_TEST_CASE(ip_network_v4_runtime::test)
314
- )