internal/queue: move InMemory queue to its own package

Currently, InMemory queue sits in queue, and is instantiated in gcpqueue for
convenience. In preparation for a third queue type (Postgres), this CL
separates the two more cleanly, making it more ergonomic for the new queue type
to slot in next to the existing two.

This CL doesn't change any logic: it just exists to make the next CL smaller
and easier to review.

I also took the liberty of adding some tests specific to the InMemory queue,
since I didn't find any. Let me know if it's tested in another place, though,
and if you'd prefer me to remove it.

Updates golang/go#74027.

Change-Id: I44bd92129f33bc7975fcd138c905e0b7ab49d257
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/747881
kokoro-CI: kokoro <noreply+kokoro@google.com>
Auto-Submit: Jonathan Amsterdam <jba@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ethan Lee <ethanalee@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
10 files changed
tree: dbb5e7699d7ba11a6b8c657b50edcb373a157909
  1. .github/
  2. cmd/
  3. deploy/
  4. devtools/
  5. doc/
  6. internal/
  7. migrations/
  8. static/
  9. tests/
  10. third_party/
  11. .dockerignore
  12. .eslintignore
  13. .eslintrc.yaml
  14. .gitignore
  15. .prettierignore
  16. .prettierrc.yaml
  17. .stylelintignore
  18. .stylelintrc.yaml
  19. all.bash
  20. codereview.cfg
  21. CONTRIBUTING.md
  22. go.mod
  23. go.sum
  24. jest.config.js
  25. LICENSE
  26. package-lock.json
  27. package.json
  28. PATENTS
  29. README.md
  30. tsconfig.json
README.md

golang.org/x/pkgsite

This repository hosts the source code of the pkg.go.dev website, and pkgsite, a documentation server program.

Go Reference

pkg.go.dev: a site for discovering Go packages

Pkg.go.dev is a website for discovering and evaluating Go packages and modules.

You can check it out at https://pkg.go.dev.

pkgsite: a documentation server

pkgsite program extracts and generates documentation for Go projects.

Example usage:

$ go install golang.org/x/pkgsite/cmd/pkgsite@latest
$ cd myproject
$ pkgsite -open .

For more information, see the pkgsite documentation.

Issues

If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.

For answers to frequently asked questions, see pkg.go.dev/about.

You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.

Contributing

We would love your help!

Our canonical Git repository is located at go.googlesource.com/pkgsite. There is a mirror of the repository at github.com/golang/pkgsite.

To contribute, please read our contributing guide.

License

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Links