planetscale 0.3.1 → 0.3.3

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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -1
  3. data/.github/workflows/gem-push.yml +9 -2
  4. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  5. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +1 -1
  6. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +1 -1
  7. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  8. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  13. data/README.md +2 -0
  14. data/controller.go +21 -36
  15. data/go.mod +4 -3
  16. data/go.sum +32 -18
  17. data/lib/planetscale/version.rb +1 -1
  18. data/lib/planetscale.rb +2 -3
  19. data/planetscale.gemspec +1 -1
  20. data/proxy/planetscale-darwin.h +1 -1
  21. data/proxy/planetscale-darwin.so +0 -0
  22. data/proxy/planetscale-linux.h +1 -1
  23. data/proxy/planetscale-linux.so +0 -0
  24. data/proxy.go +1 -5
  25. metadata +3 -345
  26. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  27. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  28. data/vendor/github.com/armon/circbuf/README.md +0 -28
  29. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  30. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  31. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  32. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  33. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  34. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  35. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  36. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  37. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  38. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  39. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  40. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  41. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  42. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  43. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  44. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  45. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  46. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  47. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  48. data/vendor/github.com/gorilla/mux/README.md +0 -805
  49. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  50. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  51. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  52. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  53. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  54. data/vendor/github.com/gorilla/mux/route.go +0 -736
  55. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  56. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  57. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  58. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  59. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  60. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  61. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  62. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  63. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  64. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  65. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  66. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  67. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  68. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  69. data/vendor/github.com/pkg/errors/Makefile +0 -44
  70. data/vendor/github.com/pkg/errors/README.md +0 -59
  71. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  72. data/vendor/github.com/pkg/errors/errors.go +0 -288
  73. data/vendor/github.com/pkg/errors/go113.go +0 -38
  74. data/vendor/github.com/pkg/errors/stack.go +0 -177
  75. data/vendor/github.com/planetscale/planetscale-go/LICENSE +0 -202
  76. data/vendor/github.com/planetscale/planetscale-go/planetscale/audit_logs.go +0 -136
  77. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
  78. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -252
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -166
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -312
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -133
  82. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
  83. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -103
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/regions.go +0 -52
  85. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  86. data/vendor/github.com/planetscale/sql-proxy/LICENSE +0 -202
  87. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -476
  88. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  89. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  90. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  91. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  92. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  93. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  94. data/vendor/go.uber.org/atomic/Makefile +0 -78
  95. data/vendor/go.uber.org/atomic/README.md +0 -63
  96. data/vendor/go.uber.org/atomic/bool.go +0 -81
  97. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  98. data/vendor/go.uber.org/atomic/doc.go +0 -23
  99. data/vendor/go.uber.org/atomic/duration.go +0 -82
  100. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  101. data/vendor/go.uber.org/atomic/error.go +0 -51
  102. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  103. data/vendor/go.uber.org/atomic/float64.go +0 -76
  104. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  105. data/vendor/go.uber.org/atomic/gen.go +0 -26
  106. data/vendor/go.uber.org/atomic/go.mod +0 -8
  107. data/vendor/go.uber.org/atomic/go.sum +0 -9
  108. data/vendor/go.uber.org/atomic/int32.go +0 -102
  109. data/vendor/go.uber.org/atomic/int64.go +0 -102
  110. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  111. data/vendor/go.uber.org/atomic/string.go +0 -54
  112. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  113. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  114. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  115. data/vendor/go.uber.org/atomic/value.go +0 -31
  116. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  117. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  118. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  119. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  120. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  121. data/vendor/go.uber.org/multierr/Makefile +0 -42
  122. data/vendor/go.uber.org/multierr/README.md +0 -23
  123. data/vendor/go.uber.org/multierr/error.go +0 -449
  124. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  125. data/vendor/go.uber.org/multierr/go.mod +0 -8
  126. data/vendor/go.uber.org/multierr/go.sum +0 -11
  127. data/vendor/go.uber.org/multierr/go113.go +0 -52
  128. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  129. data/vendor/go.uber.org/zap/.gitignore +0 -32
  130. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  131. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -492
  132. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  133. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -75
  134. data/vendor/go.uber.org/zap/FAQ.md +0 -164
  135. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  136. data/vendor/go.uber.org/zap/Makefile +0 -73
  137. data/vendor/go.uber.org/zap/README.md +0 -134
  138. data/vendor/go.uber.org/zap/array.go +0 -320
  139. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -141
  140. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  141. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  142. data/vendor/go.uber.org/zap/config.go +0 -264
  143. data/vendor/go.uber.org/zap/doc.go +0 -113
  144. data/vendor/go.uber.org/zap/encoder.go +0 -79
  145. data/vendor/go.uber.org/zap/error.go +0 -80
  146. data/vendor/go.uber.org/zap/field.go +0 -549
  147. data/vendor/go.uber.org/zap/flag.go +0 -39
  148. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  149. data/vendor/go.uber.org/zap/global.go +0 -168
  150. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  151. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  152. data/vendor/go.uber.org/zap/go.mod +0 -14
  153. data/vendor/go.uber.org/zap/go.sum +0 -54
  154. data/vendor/go.uber.org/zap/http_handler.go +0 -132
  155. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  156. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  157. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  158. data/vendor/go.uber.org/zap/level.go +0 -132
  159. data/vendor/go.uber.org/zap/logger.go +0 -348
  160. data/vendor/go.uber.org/zap/options.go +0 -148
  161. data/vendor/go.uber.org/zap/sink.go +0 -161
  162. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  163. data/vendor/go.uber.org/zap/sugar.go +0 -315
  164. data/vendor/go.uber.org/zap/time.go +0 -27
  165. data/vendor/go.uber.org/zap/writer.go +0 -99
  166. data/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +0 -188
  167. data/vendor/go.uber.org/zap/zapcore/clock.go +0 -50
  168. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  169. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  170. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  171. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  172. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  173. data/vendor/go.uber.org/zap/zapcore/error.go +0 -132
  174. data/vendor/go.uber.org/zap/zapcore/field.go +0 -233
  175. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  176. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  177. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  178. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  179. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  180. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  181. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  182. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  183. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  184. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -122
  185. data/vendor/golang.org/x/net/AUTHORS +0 -3
  186. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  187. data/vendor/golang.org/x/net/LICENSE +0 -27
  188. data/vendor/golang.org/x/net/PATENTS +0 -22
  189. data/vendor/golang.org/x/net/context/context.go +0 -56
  190. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  191. data/vendor/golang.org/x/net/context/go17.go +0 -73
  192. data/vendor/golang.org/x/net/context/go19.go +0 -21
  193. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  194. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  195. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  196. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  197. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  198. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  199. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  200. data/vendor/golang.org/x/oauth2/README.md +0 -36
  201. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  202. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  203. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  204. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  205. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  206. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  207. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  208. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  209. data/vendor/golang.org/x/oauth2/token.go +0 -178
  210. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  211. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  212. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  213. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  214. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  215. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  216. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  217. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  218. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  219. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  220. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  221. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  222. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  223. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  224. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  225. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  226. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  227. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  228. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  229. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  230. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  231. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  232. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  233. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  234. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  235. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  236. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  237. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  238. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  239. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  240. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  241. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  242. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  243. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  244. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  245. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  246. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  247. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  248. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  249. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  250. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  251. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  252. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  256. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  257. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  258. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  259. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  260. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  261. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  266. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  267. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  268. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  269. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  270. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  271. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  272. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  273. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  274. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  275. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  276. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  277. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  278. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  279. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  281. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  282. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  283. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  284. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  285. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  286. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  287. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  288. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  289. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  298. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  299. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  300. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  301. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  302. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  303. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  304. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  305. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  306. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  307. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  310. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  312. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  313. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  314. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  315. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  316. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  317. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  318. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  319. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  320. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  321. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  322. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  323. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  324. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  325. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  326. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  327. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  328. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  329. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  330. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  331. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  332. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  333. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  334. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  335. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  336. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  337. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  338. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  339. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  340. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  341. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  343. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  344. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  345. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  346. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  347. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  350. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  351. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  352. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  359. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  360. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  361. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  362. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  363. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  364. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  365. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  366. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  367. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  368. data/vendor/modules.txt +0 -79
@@ -1,73 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "crypto/tls"
5
- "errors"
6
- "sync"
7
- "time"
8
- )
9
-
10
- var errConfigNotFound = errors.New("TLS config not found")
11
-
12
- // expireTTL defines the time
13
- const expireTTL = 10 * time.Minute
14
-
15
- type cacheEntry struct {
16
- // cfg defines the TLS config we're caching
17
- cfg *tls.Config
18
- remoteAddr string
19
-
20
- // added holds the time the cfg was added to the cache
21
- added time.Time
22
- }
23
-
24
- type tlsCache struct {
25
- // configs holds the TLS config for each remote instance
26
- configs map[string]cacheEntry
27
- configsMu sync.Mutex // protects configs
28
-
29
- // nowFn returns the current local time, used during insertion of cache
30
- // entries. It's a function so we can use it for tests.
31
- nowFn func() time.Time
32
- }
33
-
34
- func newtlsCache() *tlsCache {
35
- return &tlsCache{
36
- configs: make(map[string]cacheEntry),
37
- nowFn: time.Now,
38
- }
39
- }
40
-
41
- // Add adds the given config and remote address for the given instance name
42
- func (t *tlsCache) Add(instance string, cfg *tls.Config, remoteAddr string) {
43
- t.configsMu.Lock()
44
- defer t.configsMu.Unlock()
45
-
46
- t.configs[instance] = cacheEntry{
47
- cfg: cfg,
48
- remoteAddr: remoteAddr,
49
- added: t.nowFn(),
50
- }
51
- }
52
-
53
- // Get retrieves the config for the given instance
54
- func (t *tlsCache) Get(instance string) (cacheEntry, error) {
55
- t.configsMu.Lock()
56
- defer t.configsMu.Unlock()
57
-
58
- e, ok := t.configs[instance]
59
- if !ok {
60
- return cacheEntry{}, errConfigNotFound
61
- }
62
-
63
- now := time.Now()
64
-
65
- // delete the config if it's expired. This will trigger the user to request
66
- // another TLS config.
67
- if e.added.Add(expireTTL).Before(now) {
68
- delete(t.configs, instance)
69
- return cacheEntry{}, errConfigNotFound
70
- }
71
-
72
- return e, nil
73
- }
@@ -1,19 +0,0 @@
1
- coverage:
2
- range: 80..100
3
- round: down
4
- precision: 2
5
-
6
- status:
7
- project: # measuring the overall project coverage
8
- default: # context, you can create multiple ones with custom titles
9
- enabled: yes # must be yes|true to enable this status
10
- target: 100 # specify the target coverage for each commit status
11
- # option: "auto" (must increase from parent commit or pull request base)
12
- # option: "X%" a static target percentage to hit
13
- if_not_found: success # if parent is not found report status as success, error, or failure
14
- if_ci_failed: error # if ci fails report status as success, error, or failure
15
-
16
- # Also update COVER_IGNORE_PKGS in the Makefile.
17
- ignore:
18
- - /internal/gen-atomicint/
19
- - /internal/gen-valuewrapper/
@@ -1,12 +0,0 @@
1
- /bin
2
- .DS_Store
3
- /vendor
4
- cover.html
5
- cover.out
6
- lint.log
7
-
8
- # Binaries
9
- *.test
10
-
11
- # Profiling output
12
- *.prof
@@ -1,27 +0,0 @@
1
- sudo: false
2
- language: go
3
- go_import_path: go.uber.org/atomic
4
-
5
- env:
6
- global:
7
- - GO111MODULE=on
8
-
9
- matrix:
10
- include:
11
- - go: oldstable
12
- - go: stable
13
- env: LINT=1
14
-
15
- cache:
16
- directories:
17
- - vendor
18
-
19
- before_install:
20
- - go version
21
-
22
- script:
23
- - test -z "$LINT" || make lint
24
- - make cover
25
-
26
- after_success:
27
- - bash <(curl -s https://codecov.io/bash)
@@ -1,76 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
-
7
- ## [1.7.0] - 2020-09-14
8
- ### Added
9
- - Support JSON serialization and deserialization of primitive atomic types.
10
- - Support Text marshalling and unmarshalling for string atomics.
11
-
12
- ### Changed
13
- - Disallow incorrect comparison of atomic values in a non-atomic way.
14
-
15
- ### Removed
16
- - Remove dependency on `golang.org/x/{lint, tools}`.
17
-
18
- ## [1.6.0] - 2020-02-24
19
- ### Changed
20
- - Drop library dependency on `golang.org/x/{lint, tools}`.
21
-
22
- ## [1.5.1] - 2019-11-19
23
- - Fix bug where `Bool.CAS` and `Bool.Toggle` do work correctly together
24
- causing `CAS` to fail even though the old value matches.
25
-
26
- ## [1.5.0] - 2019-10-29
27
- ### Changed
28
- - With Go modules, only the `go.uber.org/atomic` import path is supported now.
29
- If you need to use the old import path, please add a `replace` directive to
30
- your `go.mod`.
31
-
32
- ## [1.4.0] - 2019-05-01
33
- ### Added
34
- - Add `atomic.Error` type for atomic operations on `error` values.
35
-
36
- ## [1.3.2] - 2018-05-02
37
- ### Added
38
- - Add `atomic.Duration` type for atomic operations on `time.Duration` values.
39
-
40
- ## [1.3.1] - 2017-11-14
41
- ### Fixed
42
- - Revert optimization for `atomic.String.Store("")` which caused data races.
43
-
44
- ## [1.3.0] - 2017-11-13
45
- ### Added
46
- - Add `atomic.Bool.CAS` for compare-and-swap semantics on bools.
47
-
48
- ### Changed
49
- - Optimize `atomic.String.Store("")` by avoiding an allocation.
50
-
51
- ## [1.2.0] - 2017-04-12
52
- ### Added
53
- - Shadow `atomic.Value` from `sync/atomic`.
54
-
55
- ## [1.1.0] - 2017-03-10
56
- ### Added
57
- - Add atomic `Float64` type.
58
-
59
- ### Changed
60
- - Support new `go.uber.org/atomic` import path.
61
-
62
- ## [1.0.0] - 2016-07-18
63
-
64
- - Initial release.
65
-
66
- [1.7.0]: https://github.com/uber-go/atomic/compare/v1.6.0...v1.7.0
67
- [1.6.0]: https://github.com/uber-go/atomic/compare/v1.5.1...v1.6.0
68
- [1.5.1]: https://github.com/uber-go/atomic/compare/v1.5.0...v1.5.1
69
- [1.5.0]: https://github.com/uber-go/atomic/compare/v1.4.0...v1.5.0
70
- [1.4.0]: https://github.com/uber-go/atomic/compare/v1.3.2...v1.4.0
71
- [1.3.2]: https://github.com/uber-go/atomic/compare/v1.3.1...v1.3.2
72
- [1.3.1]: https://github.com/uber-go/atomic/compare/v1.3.0...v1.3.1
73
- [1.3.0]: https://github.com/uber-go/atomic/compare/v1.2.0...v1.3.0
74
- [1.2.0]: https://github.com/uber-go/atomic/compare/v1.1.0...v1.2.0
75
- [1.1.0]: https://github.com/uber-go/atomic/compare/v1.0.0...v1.1.0
76
- [1.0.0]: https://github.com/uber-go/atomic/releases/tag/v1.0.0
@@ -1,19 +0,0 @@
1
- Copyright (c) 2016 Uber Technologies, Inc.
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in
11
- all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.
@@ -1,78 +0,0 @@
1
- # Directory to place `go install`ed binaries into.
2
- export GOBIN ?= $(shell pwd)/bin
3
-
4
- GOLINT = $(GOBIN)/golint
5
- GEN_ATOMICINT = $(GOBIN)/gen-atomicint
6
- GEN_ATOMICWRAPPER = $(GOBIN)/gen-atomicwrapper
7
- STATICCHECK = $(GOBIN)/staticcheck
8
-
9
- GO_FILES ?= $(shell find . '(' -path .git -o -path vendor ')' -prune -o -name '*.go' -print)
10
-
11
- # Also update ignore section in .codecov.yml.
12
- COVER_IGNORE_PKGS = \
13
- go.uber.org/atomic/internal/gen-atomicint \
14
- go.uber.org/atomic/internal/gen-atomicwrapper
15
-
16
- .PHONY: build
17
- build:
18
- go build ./...
19
-
20
- .PHONY: test
21
- test:
22
- go test -race ./...
23
-
24
- .PHONY: gofmt
25
- gofmt:
26
- $(eval FMT_LOG := $(shell mktemp -t gofmt.XXXXX))
27
- gofmt -e -s -l $(GO_FILES) > $(FMT_LOG) || true
28
- @[ ! -s "$(FMT_LOG)" ] || (echo "gofmt failed:" && cat $(FMT_LOG) && false)
29
-
30
- $(GOLINT):
31
- cd tools && go install golang.org/x/lint/golint
32
-
33
- $(STATICCHECK):
34
- cd tools && go install honnef.co/go/tools/cmd/staticcheck
35
-
36
- $(GEN_ATOMICWRAPPER): $(wildcard ./internal/gen-atomicwrapper/*)
37
- go build -o $@ ./internal/gen-atomicwrapper
38
-
39
- $(GEN_ATOMICINT): $(wildcard ./internal/gen-atomicint/*)
40
- go build -o $@ ./internal/gen-atomicint
41
-
42
- .PHONY: golint
43
- golint: $(GOLINT)
44
- $(GOLINT) ./...
45
-
46
- .PHONY: staticcheck
47
- staticcheck: $(STATICCHECK)
48
- $(STATICCHECK) ./...
49
-
50
- .PHONY: lint
51
- lint: gofmt golint staticcheck generatenodirty
52
-
53
- # comma separated list of packages to consider for code coverage.
54
- COVER_PKG = $(shell \
55
- go list -find ./... | \
56
- grep -v $(foreach pkg,$(COVER_IGNORE_PKGS),-e "^$(pkg)$$") | \
57
- paste -sd, -)
58
-
59
- .PHONY: cover
60
- cover:
61
- go test -coverprofile=cover.out -coverpkg $(COVER_PKG) -v ./...
62
- go tool cover -html=cover.out -o cover.html
63
-
64
- .PHONY: generate
65
- generate: $(GEN_ATOMICINT) $(GEN_ATOMICWRAPPER)
66
- go generate ./...
67
-
68
- .PHONY: generatenodirty
69
- generatenodirty:
70
- @[ -z "$$(git status --porcelain)" ] || ( \
71
- echo "Working tree is dirty. Commit your changes first."; \
72
- exit 1 )
73
- @make generate
74
- @status=$$(git status --porcelain); \
75
- [ -z "$$status" ] || ( \
76
- echo "Working tree is dirty after `make generate`:"; \
77
- echo "$$status"; \
78
- echo "Please ensure that the generated code is up-to-date." )
@@ -1,63 +0,0 @@
1
- # atomic [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![Go Report Card][reportcard-img]][reportcard]
2
-
3
- Simple wrappers for primitive types to enforce atomic access.
4
-
5
- ## Installation
6
-
7
- ```shell
8
- $ go get -u go.uber.org/atomic@v1
9
- ```
10
-
11
- ### Legacy Import Path
12
-
13
- As of v1.5.0, the import path `go.uber.org/atomic` is the only supported way
14
- of using this package. If you are using Go modules, this package will fail to
15
- compile with the legacy import path path `github.com/uber-go/atomic`.
16
-
17
- We recommend migrating your code to the new import path but if you're unable
18
- to do so, or if your dependencies are still using the old import path, you
19
- will have to add a `replace` directive to your `go.mod` file downgrading the
20
- legacy import path to an older version.
21
-
22
- ```
23
- replace github.com/uber-go/atomic => github.com/uber-go/atomic v1.4.0
24
- ```
25
-
26
- You can do so automatically by running the following command.
27
-
28
- ```shell
29
- $ go mod edit -replace github.com/uber-go/atomic=github.com/uber-go/atomic@v1.4.0
30
- ```
31
-
32
- ## Usage
33
-
34
- The standard library's `sync/atomic` is powerful, but it's easy to forget which
35
- variables must be accessed atomically. `go.uber.org/atomic` preserves all the
36
- functionality of the standard library, but wraps the primitive types to
37
- provide a safer, more convenient API.
38
-
39
- ```go
40
- var atom atomic.Uint32
41
- atom.Store(42)
42
- atom.Sub(2)
43
- atom.CAS(40, 11)
44
- ```
45
-
46
- See the [documentation][doc] for a complete API specification.
47
-
48
- ## Development Status
49
-
50
- Stable.
51
-
52
- ---
53
-
54
- Released under the [MIT License](LICENSE.txt).
55
-
56
- [doc-img]: https://godoc.org/github.com/uber-go/atomic?status.svg
57
- [doc]: https://godoc.org/go.uber.org/atomic
58
- [ci-img]: https://travis-ci.com/uber-go/atomic.svg?branch=master
59
- [ci]: https://travis-ci.com/uber-go/atomic
60
- [cov-img]: https://codecov.io/gh/uber-go/atomic/branch/master/graph/badge.svg
61
- [cov]: https://codecov.io/gh/uber-go/atomic
62
- [reportcard-img]: https://goreportcard.com/badge/go.uber.org/atomic
63
- [reportcard]: https://goreportcard.com/report/go.uber.org/atomic
@@ -1,81 +0,0 @@
1
- // @generated Code generated by gen-atomicwrapper.
2
-
3
- // Copyright (c) 2020 Uber Technologies, Inc.
4
- //
5
- // Permission is hereby granted, free of charge, to any person obtaining a copy
6
- // of this software and associated documentation files (the "Software"), to deal
7
- // in the Software without restriction, including without limitation the rights
8
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- // copies of the Software, and to permit persons to whom the Software is
10
- // furnished to do so, subject to the following conditions:
11
- //
12
- // The above copyright notice and this permission notice shall be included in
13
- // all copies or substantial portions of the Software.
14
- //
15
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- // THE SOFTWARE.
22
-
23
- package atomic
24
-
25
- import (
26
- "encoding/json"
27
- )
28
-
29
- // Bool is an atomic type-safe wrapper for bool values.
30
- type Bool struct {
31
- _ nocmp // disallow non-atomic comparison
32
-
33
- v Uint32
34
- }
35
-
36
- var _zeroBool bool
37
-
38
- // NewBool creates a new Bool.
39
- func NewBool(v bool) *Bool {
40
- x := &Bool{}
41
- if v != _zeroBool {
42
- x.Store(v)
43
- }
44
- return x
45
- }
46
-
47
- // Load atomically loads the wrapped bool.
48
- func (x *Bool) Load() bool {
49
- return truthy(x.v.Load())
50
- }
51
-
52
- // Store atomically stores the passed bool.
53
- func (x *Bool) Store(v bool) {
54
- x.v.Store(boolToInt(v))
55
- }
56
-
57
- // CAS is an atomic compare-and-swap for bool values.
58
- func (x *Bool) CAS(o, n bool) bool {
59
- return x.v.CAS(boolToInt(o), boolToInt(n))
60
- }
61
-
62
- // Swap atomically stores the given bool and returns the old
63
- // value.
64
- func (x *Bool) Swap(o bool) bool {
65
- return truthy(x.v.Swap(boolToInt(o)))
66
- }
67
-
68
- // MarshalJSON encodes the wrapped bool into JSON.
69
- func (x *Bool) MarshalJSON() ([]byte, error) {
70
- return json.Marshal(x.Load())
71
- }
72
-
73
- // UnmarshalJSON decodes a bool from JSON.
74
- func (x *Bool) UnmarshalJSON(b []byte) error {
75
- var v bool
76
- if err := json.Unmarshal(b, &v); err != nil {
77
- return err
78
- }
79
- x.Store(v)
80
- return nil
81
- }
@@ -1,53 +0,0 @@
1
- // Copyright (c) 2020 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package atomic
22
-
23
- import (
24
- "strconv"
25
- )
26
-
27
- //go:generate bin/gen-atomicwrapper -name=Bool -type=bool -wrapped=Uint32 -pack=boolToInt -unpack=truthy -cas -swap -json -file=bool.go
28
-
29
- func truthy(n uint32) bool {
30
- return n == 1
31
- }
32
-
33
- func boolToInt(b bool) uint32 {
34
- if b {
35
- return 1
36
- }
37
- return 0
38
- }
39
-
40
- // Toggle atomically negates the Boolean and returns the previous value.
41
- func (b *Bool) Toggle() bool {
42
- for {
43
- old := b.Load()
44
- if b.CAS(old, !old) {
45
- return old
46
- }
47
- }
48
- }
49
-
50
- // String encodes the wrapped value as a string.
51
- func (b *Bool) String() string {
52
- return strconv.FormatBool(b.Load())
53
- }
@@ -1,23 +0,0 @@
1
- // Copyright (c) 2020 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- // Package atomic provides simple wrappers around numerics to enforce atomic
22
- // access.
23
- package atomic
@@ -1,82 +0,0 @@
1
- // @generated Code generated by gen-atomicwrapper.
2
-
3
- // Copyright (c) 2020 Uber Technologies, Inc.
4
- //
5
- // Permission is hereby granted, free of charge, to any person obtaining a copy
6
- // of this software and associated documentation files (the "Software"), to deal
7
- // in the Software without restriction, including without limitation the rights
8
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- // copies of the Software, and to permit persons to whom the Software is
10
- // furnished to do so, subject to the following conditions:
11
- //
12
- // The above copyright notice and this permission notice shall be included in
13
- // all copies or substantial portions of the Software.
14
- //
15
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- // THE SOFTWARE.
22
-
23
- package atomic
24
-
25
- import (
26
- "encoding/json"
27
- "time"
28
- )
29
-
30
- // Duration is an atomic type-safe wrapper for time.Duration values.
31
- type Duration struct {
32
- _ nocmp // disallow non-atomic comparison
33
-
34
- v Int64
35
- }
36
-
37
- var _zeroDuration time.Duration
38
-
39
- // NewDuration creates a new Duration.
40
- func NewDuration(v time.Duration) *Duration {
41
- x := &Duration{}
42
- if v != _zeroDuration {
43
- x.Store(v)
44
- }
45
- return x
46
- }
47
-
48
- // Load atomically loads the wrapped time.Duration.
49
- func (x *Duration) Load() time.Duration {
50
- return time.Duration(x.v.Load())
51
- }
52
-
53
- // Store atomically stores the passed time.Duration.
54
- func (x *Duration) Store(v time.Duration) {
55
- x.v.Store(int64(v))
56
- }
57
-
58
- // CAS is an atomic compare-and-swap for time.Duration values.
59
- func (x *Duration) CAS(o, n time.Duration) bool {
60
- return x.v.CAS(int64(o), int64(n))
61
- }
62
-
63
- // Swap atomically stores the given time.Duration and returns the old
64
- // value.
65
- func (x *Duration) Swap(o time.Duration) time.Duration {
66
- return time.Duration(x.v.Swap(int64(o)))
67
- }
68
-
69
- // MarshalJSON encodes the wrapped time.Duration into JSON.
70
- func (x *Duration) MarshalJSON() ([]byte, error) {
71
- return json.Marshal(x.Load())
72
- }
73
-
74
- // UnmarshalJSON decodes a time.Duration from JSON.
75
- func (x *Duration) UnmarshalJSON(b []byte) error {
76
- var v time.Duration
77
- if err := json.Unmarshal(b, &v); err != nil {
78
- return err
79
- }
80
- x.Store(v)
81
- return nil
82
- }
@@ -1,40 +0,0 @@
1
- // Copyright (c) 2020 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package atomic
22
-
23
- import "time"
24
-
25
- //go:generate bin/gen-atomicwrapper -name=Duration -type=time.Duration -wrapped=Int64 -pack=int64 -unpack=time.Duration -cas -swap -json -imports time -file=duration.go
26
-
27
- // Add atomically adds to the wrapped time.Duration and returns the new value.
28
- func (d *Duration) Add(n time.Duration) time.Duration {
29
- return time.Duration(d.v.Add(int64(n)))
30
- }
31
-
32
- // Sub atomically subtracts from the wrapped time.Duration and returns the new value.
33
- func (d *Duration) Sub(n time.Duration) time.Duration {
34
- return time.Duration(d.v.Sub(int64(n)))
35
- }
36
-
37
- // String encodes the wrapped value as a string.
38
- func (d *Duration) String() string {
39
- return d.Load().String()
40
- }