* 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. |
||
---|---|---|
.. | ||
.travis | ||
art | ||
src | ||
static | ||
.eslintrc | ||
.gitignore | ||
README.md | ||
babel.config.js | ||
build-cli-usage.sh | ||
build.sh | ||
convert-ascii-to-svg.sh | ||
docusaurus.config.js | ||
offline-cmd-md-links.sh | ||
package-lock.json | ||
package.json | ||
publish-docs.sh | ||
set-solana-release-tag.sh | ||
sidebars.js |
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