solana/docs
Greg Fitzgerald 9bbe015a05
Document and clean up AppendVec (#15640)
* Document AppendVec

* Remove the almost-duplicate state in AppendVec

AppendVec was maintaining two offsets, `current_len` and
`append_offset`. Despite the different looking names, the two
values have the same meaning, but were updated at slightly different
times. When appending a batch of accounts, `current_len` updates would
be immediately available to other threads after each append, whereas
`append_offset` would only be updated after its mutex was unlocked.
`append_offset` is redundant. By removing it, we eliminate potential
bugs and no longer need to suppress clippy warnings.

* Remove get_mut() from AppendVec design

Only the offset into the AppendVec memory is thread-safe. The memory
itself is only threadsafe because it is append-only and is otherwise
unprotected. Adding get_mut() would only be safe if the memory was
protected by a ReadWrite lock.
2021-03-03 12:51:48 -08:00
..
.travis Move from gitbook to docusaurus, build docs in Travis CI (#10970) 2020-07-11 05:11:07 +00:00
art Cleanup programming model doc (#10274) 2020-05-27 16:18:11 -06:00
src Document and clean up AppendVec (#15640) 2021-03-03 12:51:48 -08:00
static Reorg and cleanup of economics section of docs (#14868) 2021-01-27 22:54:00 +01:00
.eslintrc Move from gitbook to docusaurus, build docs in Travis CI (#10970) 2020-07-11 05:11:07 +00:00
.gitignore Fix cli usage build 2021-01-29 19:03:10 +00:00
README.md Add security best practice sections (#14798) 2021-01-25 15:36:11 -08:00
babel.config.js Move from gitbook to docusaurus, build docs in Travis CI (#10970) 2020-07-11 05:11:07 +00:00
build-cli-usage.sh Fix cli usage build 2021-01-29 19:03:10 +00:00
build.sh Only publish release-tag docs on beta channel (#15158) 2021-02-05 23:39:04 -07:00
convert-ascii-to-svg.sh Change transparent .svg to opaque .png (#11084) 2020-07-15 21:35:18 +00:00
docusaurus.config.js Reorg and cleanup of economics section of docs (#14868) 2021-01-27 22:54:00 +01:00
offline-cmd-md-links.sh Docs: Update CLI offline cmds (#8548) 2020-03-01 17:20:37 -07:00
package-lock.json Reorg and cleanup of economics section of docs (#14868) 2021-01-27 22:54:00 +01:00
package.json Reorg and cleanup of economics section of docs (#14868) 2021-01-27 22:54:00 +01:00
publish-docs.sh fix doc redirects (#13709) 2020-11-19 21:34:21 +00:00
set-solana-release-tag.sh Guard against bsd sed (#13735) 2020-11-21 17:56:23 -08:00
sidebars.js deploy doc updates (#15109) 2021-02-04 16:18:14 -08:00

README.md

Docs Readme

Solana's Docs are built using Docusaurus 2 with npm. Static content delivery is handled using vercel.

Installing Docusaurus

$ npm install

Local Development

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server. (You might have to run build.sh first if you run into failures)

$ npm run start

Build Locally

This command generates static content into the build directory and can be served using any static contents hosting service.

$ docs/build.sh

CI Build Flow

The docs are built and published in Travis CI with the docs/build.sh script. On each PR, the docs are built, but not published.

In each post-commit build, docs are built and published using vercel to their respective domain depending on the build branch.

  • Master branch docs are published to edge.docs.solana.com
  • Beta branch docs are published to beta.docs.solana.com
  • Latest release tag docs are published to docs.solana.com